新开的服务器上有gcc但没有g++
gcc与g++的区别
在代码编译阶段(第二个阶段):
后缀为 .c 的,gcc 把它当作是 C 程序,而 g++ 当作是 C++ 程序
后缀为.cpp 的,两者都会认为是 C++ 程序,C++ 的语法规则更加严谨一些
g++ 会调用 gcc,对于 C++ 代码,两者是等价的,也就是说 gcc 和 g++ 都可以编译 C/C++ 代码
在链接阶段(最后一个阶段):
gcc 和 g++ 都可以自动链接到标准 C 库
g++ 可以自动链接到标准 C++ 库,gcc 如果要链接到标准 C++ 库需要加参数 -lstdc++
关于 __cplusplus 宏的定义
g++ 会自动定义__cplusplus 宏,但是这个不影响它去编译 C 程序
gcc 需要根据文件后缀判断是否需要定义 __cplusplus 宏 (规则参考第一条)
但直接在服务器上使用gcc编译c++程序是不行的,还是需要安装g++。
创建sudo用户
新服务器刚进去是root用户,我们可以先新建一个用户在su过去,在上面进行操作。
我们还要为新用户添加sudo权限。
sudo默认配置文件是/etc/sudoers ,一般使用Linux指定编辑工具visudo ,此工具的好处是可以进行错误检查。在添加规则不符合语法规则时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的普通用户下,通过sudo -l来查看哪些命令是可以执行的或禁止的;
/etc/sudoers 文件中每行是一个规则,前面带有#号可以当作是注释的内容,并不执行;如果规则很长,可以写在多列上,可以用\号来续行。
首先需要切换到root
su - (注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用乎的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)
然后 visudo
这个和vi的用法一样,由于可能会有人不太熟悉vi,所以简要说一下步骤
移动光标,到最后一行,按a,进入append模式,输入
your_user_name ALL=(ALL:ALL) ALL
然后按Esc,再输入:w保存文件,再:q退出
这样就把自己加入了sudo组,可以使用sudo命令了。
创建g++开发环境
在新用户环境下运行
sudo yum install gcc-c++ libstdc++-devel
然后就可以在命令行使用g++命令了