- 论坛徽章:
- 0
|
由于uclinux不支持fork,而是用vfork来代替,所以写了个测试程序。
2种方式编译
1 arm-elf-gcc -elf2flt -o fork fork.c。
2 arm-elf-gcc -o fork fork.c。
经-elf2flt的fork文件大小,要比不加-elf2flt生成elf文件后,arm-elf-strip后文件小很多。
arm-elf-strip和-elf2flt的区别在哪里?
程序如下:
#include
#include
int main()
{
pid_t pid;
pid = fork();
if (pid < 0)
{
printf("fork failed\n");
exit(-1);
}
else if (0 == pid)
{
sleep(2);
printf("Child process, my pid : %d\n", getpid());
exit(0);
}
else
{
printf("father process, my pid : %d\n", getpid());
exit(0);
}
}
~
~
~
你怎么会突然间问起这种奇怪的问题?
arm-elf-strip:是把elf文件中的一些没有用的信息删除掉,起到节省文件空间的作用。strip之后的elf文件是没有办法再elf2flt的。
-elf2flt:是把没有strip的elf文件转换成flt格式的文件,拿这两个比较没有任何意义!
老兄你们借我的板子还不快点评估做项目啊?还在研究这些问题。
呵呵,OK。
只是由于我们的应用很大,所以才考虑的.它们的文件格式不一样。
和另一块芯片的带内管理已经OK了。
以前移植过net-snmp到arm9上。
现在uclinux移植net-snmp,由于fork/vfork的问题,卡住了。已经#define fork vfork了。但是影响了原来进程的控制逻辑。
斑竹有在uclinux移植net-snmp的资料吗?
如果你觉得fork改为vfork也有问题的话,那么就修改成pthread的形式就ok了,我没于这个资料,你自己研究下!
net-snmp文档不多,加我msn:againyuan@hotmail.com
我先贴一些能保证在linux2.6上运行的,大家分享。
net-snmp全新安装:
1.将.c .h 放到net-snmpXXX/agent/mibgroup目录下
2.运行./configure --host=arm-linux --target=arm --with-cc=arm-linux-gcc
--with-ar=arm-linux-ar --prefix=/usr/net-snmp --with-endianness=little
--enable-mini-agent --with-mib-modules=mitsubishi
3.修改net-snmp-5.3.1/include/net-snmp目录下的net-snmp-config.h
将PERSISTENT_DIRECTORY 修改为/syscfg/net-snmp
将SNMPSHAREPATH 修改为/syscfg/
将SYSTEM_MIB修改为 1, 3, 6, 1, 4, 1, 201, 2, 17, 1,这个根据你的MIB定义
4.运行make LDFLAGS="-elf2flt -static"
5 cd agent
6 .arm-linux-strip snmpd
7 .将snmpd 放到/usr/sbin
8 .将snmpd.conf 放到自己指定的目录/syscfg/share/snmp (注意修改snmpd.conf的相关配置,否则agent可能访问不到)
9 .将libm-2.3.2.so放到/lib/libm.so.6
移植到 uclinux修改
./configure --host=arm-linux --target=arm --with-cc='arm-elf-gcc '
--with-ar=arm-elf-ar --prefix=/usr/net-snmp --disable-shared --with-endianness=little
--enable-mini-agent --with-mib-modules=mitsubishi
一定加上这个--disable-shared ,uclinux不支持动态库
呵呵,对,希望大家都支持
arm7里我最喜欢的是745了,性价比最高。
我的net-snmp移植成功了。
就是按照上面的帖子,但要在net-snmp-config.h中加入:
#define fork vfork
当然还有很多细节的问题只能自己摸索了
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/83703/showart_1721267.html |
|