免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2596 | 回复: 10
打印 上一主题 下一主题

问一个简单的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-05 08:17 |只看该作者 |倒序浏览
我写了一个驱动程序, 源程序由 file1.c, file2.c ,file3.c ... (file1.h,file2.h,file3.h..)等组成, 编译后要到开发板上运行。
Makefile 如下:

CC = gcc
LD = ld
INCLUDEDIR = /usr/src/linux-2.4.20-8/include

SRC0  = /home/test/src
INC0 = /home/test/inc

#-DEXPORT_SYMTAB -D__KERNEL_SYSCALLS__  -DCONFIG_MODULES
CFLAGS = -static -g -DMODULE  -D__KERNEL__  -O2 -Wall -I$(INCLUDEDIR)

INC = $(INC0)/file1.h $(INC0)/file2.h $(INC0)/file3.h
SRC = $(SRC0)/file1.c $(SRC0)/file2.c $(SRC0)/file3.c

OBJ = $(SRC:.c=.o)

all: test.o

test.o: $(OBJ)
        $(LD) -r $^ -o $@
clean:
        rm -f $(SRC0)/*.o core *.bak *.o

现在编译后的 test.o 有 1M 多,因为这个.o 文件是要到开发板上运行的,文件有点大, 我的意思是,编译后需要 LD 进行链接 吗?
有没有办法减少test.o 文件的大小(前提条件是不改变程序的功能)。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2009-05-05 09:24 |只看该作者

回复 #1 nflx 的帖子

你要看你为什么需要链接了,不链接能运行么?如果可以,那链接也没有必要了。

论坛徽章:
5
3 [报告]
发表于 2009-05-05 09:32 |只看该作者
lz看一下kernerl目录下的.config, 里面是不是debug_info打开了, 会导致.o文件过大.

论坛徽章:
0
4 [报告]
发表于 2009-05-05 10:09 |只看该作者
不链接不行,提示找不到 file2.o 或 file3.o 里面的涵数,  因为我的主程序里面可能要用到这些涵数,  还有我去掉  -g   参数行不行

[ 本帖最后由 nflx 于 2009-5-5 10:23 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-05-05 10:10 |只看该作者
strip 一下会变小。

论坛徽章:
0
6 [报告]
发表于 2009-05-05 10:20 |只看该作者
原帖由 liying_gg 于 2009-5-5 10:10 发表
strip 一下会变小。


什么意思啊? 不是很明白.  能不能去掉 Makefile  里面的 -g 参数

[ 本帖最后由 nflx 于 2009-5-5 10:26 编辑 ]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
7 [报告]
发表于 2009-05-05 10:28 |只看该作者

回复 #6 nflx 的帖子

可以去掉

论坛徽章:
0
8 [报告]
发表于 2009-05-05 10:33 |只看该作者
去掉-g 会变小的,-g是调试用的

论坛徽章:
0
9 [报告]
发表于 2009-05-05 13:40 |只看该作者
你的编译器怎么用虚拟机的gcc呢?难道你的板子上的cpu是x86兼容的?

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
10 [报告]
发表于 2009-05-05 15:22 |只看该作者

回复 #9 garyv 的帖子

估计是x86的开发机
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP