前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux编译运行c++程序

linux编译运行c++程序

作者头像
mathor
发布2020-07-27 17:42:14
9.5K0
发布2020-07-27 17:42:14
举报
文章被收录于专栏:mathor

我使用的环境是腾讯云ubuntu服务器

以一个简单的算法题为例,How do you count the occurrence of a given character in a string?要求保存程序名为count-character-in-string.cc,运行方式为 ./count-character-in-string your-string

在linux环境下编译运行c++我也是第一次,同时他这种运行方式也和我之前在win下的不一样,在win下我都是直接编译运行,弹出黑框,然后在黑框种进行输入。这个题目的要求就是在执行的程序后面跟上一串输入,而这个操作,需要在main函数中添加特定的参数

代码语言:javascript
复制
#include <iostream>
using namespace std;
int  main(int argc,  char* argv[]) {
    for (int i  =  0; i < argc; i++)
        cout << argv[i] << endl;
    return  0;
}

以前我从没写过main()函数里面带参数的程序,这次也算是现学现卖了。首先通过linux自带的编辑软件创建一个test.cc文件

代码语言:javascript
复制
demeen@VM-0-4-ubuntu:~/cpp_code$ nano test.cc

然后将上述代码复制进去,依次摁下ctrl+oEnterctrl+x

之后输入如下命令,这个命令的含义是使用g++编译test.cc程序,并生成名为test的可执行程序

代码语言:javascript
复制
demeen@VM-0-4-ubuntu:~/cpp_code$ g++ test.cc -o test

然后输入

代码语言:javascript
复制
demeen@VM-0-4-ubuntu:~/cpp_code$ ./test abcd hello world

输出如下图所示


char *argv[]是一个字符串数组,其大小为int argc,主要用于保存命令行参数,例如上述输入

代码语言:javascript
复制
argc = 4
argv[0] = "./test"
argv[1] = "abcd"
argv[2] = "hello"
argv[3] = "world"

char *argv[]指向的数组中至少有一个字符指针,即argv[0],他通常指向程序中的可执行文件的文件名


于是针对一开始的问题,下面就是我的操作步骤

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档