zoukankan      html  css  js  c++  java
  • gcc编译

    编译是将可阅读的源代码转换为计算机可读的二进制文件,从而使其可以被计算机解析并执行。

    编译器以源代码作为输入,将其转换为一系列称为目标码的中间文件。这些目标码文件还不能直接执行,因为其中可能引用了一些源代码中未包含的符号和函数。通过“链接”过程可将各个目标文件链接成为一个可执行的二进制文件,从而解决了这些符号和函数的引用问题。

    Unix和Linux系统中使用C语言编程时,使用的编译器是GNU C Compiler(gcc)。gcc提供了大量的编译选项。

    选项 说明
    -o 使用指定的文件名保存编译后的二进制代码。默认会将输出保存为a.out
    -S 生成一个包含汇编指令的文件,文件扩展名为.S
    -ggdb 生成额外的调试信息,在使用GNU调试器(gdb)时比较有用
    -c 编译但不进行链接。生成一个带有.o扩展名的目标文件
    -mpreferred-stack-boundary=2 使用DWORD大小的栈来编译程序,这简化了学习时的调试过程
    -fno-stack-protector 禁用栈保护(GCC 4.1时引入)
    -z execstack 启用可执行栈,在GCC 4.1中默认禁用

    例:

    gcc -o hello hello.c
    ./hello 参数1 参数2
    
  • 相关阅读:
    排序算法
    【转】《分享一下我研究SQLSERVER以来收集的笔记》未整理
    D3.js学习记录
    D3.js学习记录【转】【新】
    JAVA FILE or I/O学习
    JAVA GUI学习
    android一键锁屏
    源文件如何转换到可执行文件
    手动搭建maven项目
    ThinkingInJava----第11章 持有对象
  • 原文地址:https://www.cnblogs.com/cyx-b/p/14948237.html
Copyright © 2011-2022 走看看