gcc –static a.c -Wl,-Bstatic -lm -Wl,-Bdynamic -lc 其中用到的两个选项:-Wl,-Bstatic和-Wl,-Bdynamic。这两个选项是gcc的特殊选项,它会将选项的参数传递给链接器,作为 链接器的选项。比如-Wl,-Bstatic告诉链接器使用-Bstatic选项,该选项是告诉链接器,对接下来的-l选项使用静态链 接;-Wl,-Bdyna...
-static: 生成可执行文件时,禁止生成任何共享链接,包括标准库都使用静态链接 -share: 生成可执行文件时,倾向于使用动态链接 -static-libstdc++: 如果没有这个选项,则默认使用libstdc++共享库,而这个选项可以指定使用libstdc++静态库 -Wa,option: 此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项...
-static此选项将禁止使用动态库,编译得到的程序会比较大,但可以自由运行。 -share此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库。 上面的是一些常用的参数以及对应的选项,如有更细致的需求,可以参考man page。 附加:使用GCC生成静态链接库或动态链接库 首先需要目标文件(*.o),用gcc/g++ -c生成...
ar -r libhello.a hello.o #这里的ar相当于tar的作用,将多个目标打包。 程序ar配合参数-r创建一个新库libhello.a,并将命令行中列出的文件打包入其中。这种方法,如果libhello.a已经存在,将会覆盖现在文件,否则将新创建。 3.链接静态库 gcc main.c -lhello -L. -static -o main 这里的-static选项是告诉...
-static:默认情况下,gcc 在链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接库。 如果需要的话,可以在编译时加上-static选项,强制使用静态链接库。 -shared:创建后缀名为.so的共享对象文件的时候使用 -save-temps:保存编译过程中生成的一些列中间文件 ...
简述GCC的用法和常用参数的含义。相关知识点: 试题来源: 解析 GCC是GNU Compiler Collection的缩写,是一个开源的编译器工具集,用于将源代码编译成可执行文件。使用GCC的基本步骤是在终端中输入类似以下的命令: gcc source.c -o output 其中,source.c是源代码文件名,output是生成的可执行文件名。常用参数包括: ...
gcc 主要有三个参数-E -S -c -o -l 以及不加参数 四个阶段:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。 -o 生成文件 如果有-E 就是生成预编译文件 如果是-S 就是生成汇编文件 如果是-c 就是生成目标文件 ...
5.栈(stack):栈又称堆栈,是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进先出(FIFO)特...
gcc filename.c -o filename上面的意思是如果你不打 -o filename(直接gcc filename.c );那么默认就是输出a.out.这个-o就是用来控制输出文件的。用./a.out 执行文件。其他参数含义:1、-ansi 关闭 gnu c中与 ansi c 不兼容的特性, 激活 ansi c 的专有特性(包括禁止一些 asm inline ...