导航:首页 > 源码编译 > gcc编译与makefile基础

gcc编译与makefile基础

发布时间:2022-06-02 23:16:27

⑴ 请问linux下,gcc编译程序的过程(从读取源文件到制作可执行程序中间所有过程,越详细越好)

gcc -S *.c 预处理+反汇编

⑵ 萌新求助、gcc编译c++动态库编写makefile

假设有下面几个c++文件:
wherewhen.h wherewhen.c
countdown.h countdown.c 包含了math.h, 需要连接库文件
main.c 主函数, main.c 包含了两个头文件 wherewhen.h and countdown.h
1、第一种编译方法:
g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram
生成可执行文件myprogram
2、第二中编译方法, 分别编译各个文件:
g++ -Wall -g -c wherewhen.c
g++ -Wall -g -c countdown.c
g++ -Wall -g -c main.c
g++ -g wherewhen.o countdown.o main.o -lm -o myprogram

⑶ 急!关于LINIX下的GCC和MAKEFILE的基础问题

桌面右键,选打开终端窗口
然后有点象dos一样做命令行操作,不要管外边的图形界面
标准C或C++头文件基本一致

在命令行里直接gcc test.c
就会生成一默认可执行文件a.out,此时运行./a.out
或gcc -o test test.c
就会生成一可执行文件test,此时运行./test
即可编译运行

可执行文件在ls后列出所有文件后,能看到上边的a.out或test颜色有所不同,就是可执行文件,

makefile是可以设置编译参数,环境变量的类似工程文件的一文件,
直接在命令行里make
即可按照makefile里设置的编译生成可执行文件或库文件

下边为一makefile简单例子
#--------------------------------------------------------
.SUFFIXES:.cpp
.SUFFIXES:.o
.c.o:
gcc -O -c -g -I$(INCL) $<
#--------------------------------------------------------

OS=UNIX
WORKDIR=$(HOME)
MAKEFILE = makefile
INCL=$(WORKDIR)/incl
LIBS=

OBJ= test.o

all: test
@echo " "
@echo " 编译成功! "
@echo " "
@echo " "
test: $(OBJ)
@echo " Compiling the program" $@
gcc -o $@ $(OBJ) -I$(INCL) $(LIBS)
@echo " ---$@ compiling done."
@rm *.o

⑷ 怎么用gcc 和makefile

gcc是编译软件,makefile在编译内核时才用到的好像。
如果你用rpm包,可以
yum install gcc
yum install ****
deb包用的
aptget ****
我也不太熟,不知道是不是

⑸ 如何用arm-linux-gcc编译驱动程序,Makefile文件怎么写

回复
http://bbs.chinaunix.net/viewthread.php?tid=1921952
上面说的方法我还是不是很明白啊,我现在简直没办法了,昨天晚我看到一个资料上面写的helloworld驱动的例子有两份Makefile,一份是x86机子上的,一份是arm平台上的,arm上的这样写:ifneq
($(KERNELRELEASE),)obj-m:=hello.oelseKDIR/usr/src/kernels/opt/EmbedSky/linux-2.6.30.4/all:
make
-C
$(KDIR)
M=$(PWD)
moles
ARCH=arm
CROSS_COMPLIE=arm-linux-clean:
rm
-f
*.ko
*.o
*.mod.o
*.mod.c
*.symversendif看到后我想应该是要用用于移植的内核来编译吧,于是我干脆把资料提供的内核拷贝到PC的Linux系统中然后解压、编译直至安装,然后就再模仿例子写了Makefile如上所示,然后make后终于通过编译成功了,然后我再下载到arm板上安装,却又出现下面的错误:insmod:
can't
insert
'hello.ko':
unknown
symbol
in
mole,
or
unknown
parameter。我就又彻底晕了。到底是怎么回事,应该怎么办的呢?

⑹ linux用gcc编译

运行结果我不给了,自己看:
直接编译:
gcc main.c compute.c input.c -o power
运行程序
./power
makefile 最简单,直观的的编写方法:
power:main.o compute.o input.o
cc main.o compute.o input.o -o power
main.o:main.c main.h compute.h input.h
cc -c main.c

compute.o:compute.c compute.h
cc -c compute.c
input.o:input.c input.h
cc -c input.c
.PHONY : clean
clean :
rm -f *.o power

保存后成makefile或Makefile推荐使用后者:
make
想重新编译前运行:
make clean
make
运行程序:
./power
特别说明:cc,rm命令行前有一个tab符,别搞错了。cc 在linux上是指向gcc的软符号链接,为了兼容其他系统,我们写的cc。
makefile有更简写但不简单的写法,不给出来。你提问这个说明你不会编写makefile,给出的是最基本用法。有兴趣自己看,一天能学完。

⑺ gcc编译和用makefile编译有什么共同和不同

如果有Makefile,最好使用make命令直接编译,因为你自己使用gcc的话可能有些编译选项没有使用全!

阅读全文

与gcc编译与makefile基础相关的资料

热点内容
linux启动级别修改 浏览:121
单片机采集交流方法 浏览:283
程序员的平凡理想 浏览:236
floyd最短路径算法c 浏览:383
新湖app在哪里下载 浏览:704
计算机图形学涉及的算法 浏览:370
阿里云linux一键web 浏览:26
弹性云服务器注册 浏览:170
垃圾程序员写出垃圾代码 浏览:761
帝国时代java下载 浏览:54
数据结构的经典算法题 浏览:197
逍遥安卓多开管理器是干什么的 浏览:917
程序员收玉米一天多少钱 浏览:358
程序员很可爱根据哪本小说改编的 浏览:987
游戏旧版安卓怎么玩 浏览:266
冗余单片机 浏览:852
cad抽壳命令怎么用 浏览:30
服务器第一地址怎么改 浏览:499
单片机最小系统电路设计流程图 浏览:670
steam源码 浏览:36