gcc 的基本使用

Posted duxie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc 的基本使用相关的知识,希望对你有一定的参考价值。

PS:我学习测试的时候写的是CPP代码,所以下面记录的时候用的是g++,当然也可以用gcc,但是要加参数,嫌麻烦就用的g++。只写C代码的话将g++改为gcc即可。

1、-c 只编译,生产.o文件,不进行链接;-o 制定目标名称, 默认的时候, gcc 编译出来的文件是 a.out。

g++ -c main.cpp -o main.o

2、-Wall 提示更多警告信息;-On n = 0~3 ,编译优化,n越大优化的越多。

g++ main.cpp -Wall -O0 -o app
g++ main.cpp -Wall -O1 -o app1
g++ main.cpp -Wall -O3 -o app2

3、-D 编译时定义宏(下面代码运行会输出Hello World!);-g 包含调试信息(GDB调试器需要,编译出来的程序比不加-g时编译出来的程序要大)

g++ main.cpp -D DEBUG -g -o app
#include <iostream>
using namespace std;

int main()
{
    int a = 112;
    #ifdef DEBUG
    cout << "Hello World!" << endl;
    #endif
    cin.get();
    return 0;
}

4、-I 指定头文件目录(include是当前目录下的文件夹,head.h在这个目录下)

g++ main.cpp -I include -o app
#include <iostream>
#include "head.h"
using namespace std;

int main()
{
    int a = 112;
    cout << "NUM1 + NUM2 = " << NUM1 + NUM2 << endl;
    #ifdef DEBUG
    cout << "Hello World!" << endl;
    #endif
    cin.get();
    return 0;
}

 

以上是关于gcc 的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

GCC优化技巧,真的有用吗?

gcc 的基本使用

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。

GCC:编译成程序集并明确与代码的对应关系?

[linux][c/c++]代码片段02

c_cpp Robolution基本代码片段