robocup实验室培训-gcc的基本使用


写给robocup机器人实验室的新成员

简单实例

先写一个普通的c++程序,命名为main.cpp

#include<iostream>

using namespace std;

int main(int argc, char const *argv[])
{
	cout<<"hjwblog.com"<<endl;
	return 0;
}

然后在控制台输入

g++ main.cpp

然后会生成一个名为a.out的文件,运行它。

./a.out

输出:

hjwblog.com

这样就完成了一个简单的单文件c++程序的编译。

-o 指定可执行文件名称

上面我们编译出来的可执行文件名字是a.out,如果要指定它的名字。要使用-o参数。

使用下面的命令:

g++  main.cpp -o main

这样就生成了一个名为main的可执行文件。

运行:

./main

-c 只编译不链接

-c 选项表示只编译,不链接成为可执行文件,生成.o为后缀的目标文件。

g++ -c main.cpp

这样会生成一个名为main.o的文件。生成的文件名字可以通过-o指定。

链接.o文件为可执行

刚才我们编译了一个main.o文件,输入下面的命令:

g++ main.o -o main

生成了一个名为main的可执行文件。

编译多个cpp文件

先写一个类,声明放.h文件,定义放.cpp文件,再通过main.cpp使用这个类。要求包含构造函数,析构函数,和至少一个普通函数。在所有函数里面都输出一点东西。

例如:

头文件要用如下的格式写

Test.h

#ifndef _TEST_H
#define _TEST_H
//头文件内容
#endif

这样可以通过预处理命令防止重复包含或者循环包含头文件。

Test.h

#ifndef _TEST_H
#define _TEST_H

class Test
{
public:
	Test();
	~Test();
	void say();
	
};

#endif

Test.cpp

#include "Test.h"
#include <iostream>

using namespace std;

Test::Test(){
	cout<<"Test created"<<endl;
}

Test::~Test(){
	cout<<"Test destroyed"<<endl;
}

void Test::say(){
	cout<<"hjwblog.com"<<endl;
}


main.cpp

#include "Test.h"

int main(int argc, char const *argv[])
{
	Test test;
	test.say();
	return 0;
}

然后输入:

g++ -c main.cpp
g++ -c Test.cpp

编译.cpp文件为.o文件。

g++ main.o Test.o -o say

将两个编译好的.o文件链接成为一个可执行文件say

运行:

./say

Test created
hjwblog.com
Test destroyed

运行rm *.o命令删除所有编译出来的.o文件。

运行rm say删除可执行文件。

之后输入下面的命令。

g++ main.cpp Test.cpp -o say

此命令可以一次性编译链接生成可执行文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值