3.linux编译C/C++程序与Windows下编译Linux C++程序
2022/1/18 7:07:13
本文主要是介绍3.linux编译C/C++程序与Windows下编译Linux C++程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C和C++ 编译器: gcc
GNU C Compiler 的缩写,经过十来年发展,意义变成了 GNU Compiler Collection,可同时支持 C、C++、Objective C和Java 等.
1.编译第一个C/C++程序
只编译执行一个C程序
gcc hello.c ./a.out $Hello world!
默认的a.out 并不友好,gcc 提供 -o 选项指定执行文件的文件名:
gcc -o hello.exe hello.c ##编译源代码,并把可执行文件命名为 hello 或gcc hello.c -o hello.exe ##编译源代码,并把可执行文件命名为 test1.exe $Hello world!
编译C++程序,我们可以直接用GCC 编译其中的g ++命令,用法同 gcc;
当然g++ 和 gcc 都可以用来编译 c 和 c++程序。
gcc 编译c++程序需要带上 -lstdc++ 指定使用c++库。
注:安装g++时如果很慢,建议:
使用vim 编辑 /etc/apt/sources.list 文件,在文件的尾部换行加入如下内容:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
接下来执行: apt-get update 命令,再调用 sudo apt-get install g++
2.编译常用选项
选 项 | 功 能 |
---|---|
-c | 只激活预处理、编译和汇编,生成.o 目标代码文件 |
-S | 只激活预处理和编译,生成扩展名为.s的汇编代码文件 |
-E | 只激活预处理,并将结果输出至标准输出 |
-g | 为调试程序(如gdb)生成相关信息 |
-O | 等同-O1,常用的编译优化选项 |
-Wall | 打开一些很有用的警告选项,建议编译时加此选项。 |
注意:-c 选项在编写大型程序是必须的,多个文件的源代码首先需要编译成目标代码,再链接成执行文件。如果由多个源文件,工程做法建议采用 makefile 。
vi test1.c vi demo.h vi test2.c gcc test1.c -c -o test1.o gcc test2.c -c -o test2.o gcc test1.o test2.o -o test1.exe 或gcc test1.c test2.c -o test1.exe ./test1.exe
test1.c
#include "demo.h" #include <stdio.h> //printf("hellohelloWorld!"); int max(int a, int b){ return a>b?a:b; }
test2.c
#include "demo.h" #include <stdio.h> int main(void) { int a = 10; int b = 9; printf("max:%d\n",max(a,b)); return 0; }
demo.h
int max(int a, int b);
3.Windows下编译Linux C++程序
(1)Ubuntu安装Samba 服务器
Samba 服务用来做Windows的文件共享的
确认安装: dpkg -l | grep samba 安装: sudo apt-get install samba samba-common 卸载: sudo apt-get autoremove samba
(2) Samba服务器配置
sudo vi /etc/samba/smb.conf
在文件最后添加
[Share] comment=This is samba dir path=/home/jessie/ writable=yes browseable=yes
增加samba 用户密码(注意要是用户的密码)
sudo smbpasswd -a jessie
(3)启动和关闭
启动Samba服务器: sudo service smbd start 关闭Samba服务器: sudo service smbd stop
(4)直接在Windows 下编码
在windows系统盘文件夹中输入linux服务器的ip地址:
双击share
此时可在Windows和Linux中同步编程,但Windows下的代码很多不能在linux下通过
注意:Samba服务器只能用在局域网
(5)编辑器的选择
编辑器的作用:
编写程序(源代码)。
编辑器的选择:
初学者最好使用最简单的文本编辑器,不要使用集成开发环境IDE
Linux平台:vi, vim, 或gedit
Windows平台:记事本,Sublime Text, UltraEdit, notePad, notePad++, source insight
4.VS2019 开发Linux C++ 程序
第一步, 先将自己的Linux 系统设为静态IP,具体操作如下:
-
修改/etc/network/interfaces 地址配置文件,如下所示:
注: 查看ip命令: ip addr
查看网关命令: ip route show -
修改 /etc/resolvconf/resolv.conf.d/base 配置DNS服务器,如下所示:
-
执行reboot 命令重启Linux系统
第二步, 对VS2019 进行设置,具体操作如下:
4. 打开vs2019,选择“工具(T)”=> “获取工具和功能(T)…”,确认“使用C++ 的Linux 开发”有勾选,本身有勾选,则忽略这一步;如果没有勾选,则选择此项,在点击右下角的修改进行安装,如下所示:
5. 重新打开VS2019, 创建新项目,选择Linux平台的空项目创建
6. 在第一次编译或调试你的项目时vs会自动让你连接远程环境,在调试->选项->跨平台->连接管理器中进行设置:
然后在–选项–连接管理器中有正常显示,即成功
这篇关于3.linux编译C/C++程序与Windows下编译Linux C++程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法