首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

gcc命令

在Linux底下搞开发,不可避免的要使用到gccgcc选项众多,下面记录下常见的一些选项,网上好多博客也说这个但是很多的都是不对的,我的博客记录参见man gcc,应该还是比较准的 常用的选项: gcc...输出文件 -D 指定宏 -Ixxx 指定头文件搜索目录xxx(没有空格) -Wall 打开警告信息 -O 优化 -g 调试信息 -std 指定语言标准 -Ldir 把dir加到库文件的搜索路径中,而且gcc...GCC performs nearly all supported optimizations that do not involve a space-speed tradeoff....-I(包含头文件的目录) 比如,你自定义了一个头文件dict.h其放置在工程根目录下的include子目录下,源文件在src下,其不在一个目录,编译时需要指定头文件存放的目录,如下: gcc -Wall...-L在指定路径后并没有指定目标文件,所以要用到-l 参数指定文件 比如: gcc -o hello hello.c -I..

1.1K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GCC命令编译

    1.GCC编译过程(原理如下,使用命令请见2) 从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i、 hello.s、 hello.o,最后才得到 hello(或a.out...test.c是c代码,预处理参数:-E ;另起名称:-o gcc -E test.c –o test.i #得到 .i文件 (2)编译,将预处理得到的源代码文件,进行“翻译转换”,产生出机器语言的目标...编译参数:-S gcc -S test.i #得到 .s文件 (3)汇编,将汇编代码翻译成了机器码,但是还不可以运行,后缀是 .o文件。...gcc hello.o #得到 .out文件 2.GCC编译使用命令 最简单使用命令 gcc test.c #在gcc命令紧跟test源文件名,会有一个 .out 文件 gcc test.c...-o test01.out #通过 -o 选项来自定义文件名test01.out文件 gcc test.c -o #/home/user/local/test.out # 在路径/home/

    1.1K10

    【linux】gcc makefile

    编译(生成汇编) 在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言。...o”的二进制目标代码了 实例: gcc –c test1.s –o test1.o 链接(生成可执行文件或库文件) 在成功编译之后,就进入了链接阶段。...实例: gcc test1.o –o test1 我们可以指定可执行文件的文件名 cpp文件:以cpp或者cc为后缀,不能用gcc编译,用g++编译 02.gcc选项 -E 只激活预处理,这个不生成文件...gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件,如下所示。...gcc hello.o –o hello gcc默认生成的二进制程序,是动态链接的,这点可以通过 file 命令验证 在软件开发中,链接是将一个或多个编译后的目标文件(.o 文件)和库文件合并,生成可执行文件或更大的库文件的过程

    5310

    GCC内嵌汇编

    GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。...我们的c代码是gcc来处理的,当遇到嵌入汇编代码的时候,gcc会将这些嵌入式汇编的文本送给gas进行后续处理。这样,gcc需要了解嵌入汇编代码对寄存器的修改情况,否则有可能会造成大麻烦。...例如:gcc对c代码进行处理,将某些变量值保存在寄存器中,如果嵌入汇编修改了该寄存器的值,又没有通知gcc的话,那么,gcc会以为寄存器中仍然保存了之前的变量值,因此不会重新加载该变量到寄存器,而是直接使用这个被嵌入式汇编修改的寄存器...:”在这里,内存发生了,或可能发生了改变”; 举例: asm("msr daifclr, #8" : : : "memory") 限定字符 以下是常见的限定字符 r: 表示使用一个通用寄存器,由GCC...声明:"GCC不得为任何Input操作表达式分配与此Output操作表达式相同的寄存器; ...

    3.1K30
    领券