Linux教程

linux 编写C++ 基本指令

本文主要是介绍linux 编写C++ 基本指令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、基本编译指令

以下面一段代码为例:

/* helloworld.cpp */
#include <iostream>
int main(int argc,char *argv[])
{
    std::cout << "hello, world" << std::endl;
    return(0);
}

直接编译出可执行文件  g++ helloworld.cpp -o helloworld

执行: ./helloworld

我们也可以将cpp源文件分步编译,编译步骤:

选项 -E 使 g++ 将源代码用编译预处理器处理后不再执行其他动作。$ gcc -E helloworld.cpp -o helloworld.i
本文前面所列出的 helloworld.cpp 的源代码,仅仅有六行,而且该程序除了显示一行文字外什么都不做,但是,预处理后的版本将超过 1200 行。

这主要是因为头文件 iostream 被包含进来,而且它又包含了其他的头文件,除此之外,还有若干个处理输入和输出的类的定义。

 

生成汇编代码
选项 -S 指示编译器将程序编译成汇编语言,输出汇编语言代码而後结束。下面的命令将由 C++ 源码文件生成汇编语言文件 helloworld.s

如:$ g++ -S helloworld.cpp -o helloworld.s
 

选项 -c 用来告诉编译器编译源代码但不要执行链接,输出结果为对象文件。

g++ -c hellospeak.cpp -o hellospeak.o

 

二 、其它常用命令

PS:这里说一下为什么在命令中没有提到头文件(如果有的话)

原因是:在“.cpp“中包含有”#include"xxx.h"“这句代码,它的意思是搜索系统头文件目录之前将先在当前目录中搜索文件“xxx.h“。而”xxx.h“正在该目录中,不用再在命令中指定了。
 

头文件 使用编译选项-I参数来指定头文件路径(和源文件不在同一目录时)

g++ -c -I/home/path main.cpp -o main.o

-I/home/path 指定头文件路径(当头文件和cpp文件不在一个目录时)

 

库文件

g++ main.o -o exeProgram -L/home/path -lexample

-L/home/path -lexample 指定库文件的路径

 

在makefile文件中可以定义一个变量名来代替上面的路径

CXXFLAGS += -I/home/path

LDFLAGS += -L/home/path

g++ -c $(CXXFLAGS)  main.cpp -o main.o

这篇关于linux 编写C++ 基本指令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!