首页 > 系统相关 >第一次在linux虚拟机上运行代码

第一次在linux虚拟机上运行代码

时间:2024-11-02 20:46:31浏览次数:3  
标签:++ 虚拟机 -- linux test 代码

之前用的是Centos7,内置的gcc版本是4.8.5,不能直接支持C++11,我又换了个Centos9,重新装了一遍虚拟机,这下gcc是11.5.0的版本号。

写了一个hello world的C++程序,命名为test.cpp,运行编译器的命令为如下:
g++ -o test test.cpp
随后在当前目录底下就会出现一个test的文件,然后再输入
./test
就可看见运行结果:hello world

如果想一步一步查看从预处理到执行的过程,代码如下:
第一步 -- 得到预处理后的源代码
g++ -E test.cpp -o test.i
随后目录底下会出现一个名为text.i的文件

第二步 -- 得到编译器处理之后的汇编代码
g++ -S test.i -o test.s
随后目录底下会出现一个名为test.s的文件

第三步 -- 得到经过汇编器处理的目标代码
g++ -s test.s -o test.o
随后目录底下会出现一个名为test.o的文件

第四步 -- 执行得到结果
./test.o
然后就会输出hello world

linux中./用于执行当前目录下的可执行文件

p.s. 看别的博客,都还有一步
g++ test.o -o test.exe
随后才是下边这句命令得到结果,但我没跑成功,不知道为啥。
./test.exe
先把疑问放到这里,之后实践多了再来填坑!

标签:++,虚拟机,--,linux,test,代码
From: https://www.cnblogs.com/tyennjr/p/18522439

相关文章

  • AI驱动的低代码未来:加速应用开发的智能解决方案
    引言随着数字化转型的浪潮席卷全球,企业对快速构建应用程序的需求愈发强烈。然而,传统的软件开发周期冗长、成本高昂,往往无法满足快速变化的市场需求。在此背景下,低代码平台逐渐成为开发者和企业的优选方案,以其“低门槛、高效率”的特性,让非技术人员也能够参与到应用开发中。然......
  • 基于YOLO11/v10/v8/v5深度学习的危险驾驶行为检测识别系统设计与实现【python源码+Pyq
    《博主简介》小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~......
  • Q-learning原理及代码实现
    目录1.Q-learning原理      1.1Q值 1.2 更新规则 1.3 目标 1.4 探索与利用2.代码实现 2.1代码示例 2.2解释1.Q-learning原理             Q-learning是一种基于值的强化学习算法,用于在不依赖环境模型的情况下学习......
  • 软件工程 - 如何平衡代码质量和项目进度 - 论CICD的重要性
    共同愿景在软件工程的视角里,代码质量与项目进度是朝向同一个方向的作用力,彼此之间互相促进,它们拥有同一个愿景:保质保量的完成项目。项目周期内,团队时间的分配上维度上也不是矛盾的,是彼此分工不同,但相辅相成。通过均衡科学分配代码质量时间与项目开发时间,让项目的左膀右臂......
  • 软件系统设计 - 代码优化 代码重构 - 正确的重构方式 与 重构手法列表
    正确的重构方式:不会引入错误并有条不紊地改进程序结构熟练掌握众多重构手法,将思辨与实践结合,迭代持续开展重构工作。运用大量微小且保持软件行为的重构步骤,一步步达成大规模的修改。在开始重构前,我们需要先通读代码,并尝试理解代码如何工作,然后通过重构将这些理解从脑海里......
  • 第三章 权限维持-linux权限维持-隐藏-玄机靶场
    第三章权限维持-linux权限维持-隐藏-玄机靶场linux权限维持玄机靶场自用笔记。本篇文章来自lexsd6'shome师傅的分享,如有侵权请联系题目简介1.黑客隐藏的隐藏的文件完整路径md52.黑客隐藏的文件反弹shell的ip+端口{ip:port}3.黑客提权所用的命令完整路径的md5flag......
  • [os/linux]:计算机中的编码和解码(ASCII)
    [os/linux]:计算机中的编码和解码(ASCII)    一、ASCII(AmericanStandardCodeForInformationInterchange)简介 1、在二进制的计算机中,ASCII用‘8位二进制数值’表示一个‘字符’;这样就形成了“字符”和“数值”之间的对应关系。ASCII表中的“字符”和“数值”,是......
  • Linux 操作系统下 e2label 命令介绍和使用案例
    Linux操作系统下e2label命令介绍和使用案例e2label命令介绍e2label是一个用于管理Linux文件系统卷标的命令行工具,主要支持EXT2、EXT3和EXT4文件系统。通过该命令,用户可以查看或修改分区的卷标,从而更好地组织和管理文件基本语法bashe2label[设备文件名][新卷......
  • 如何使用Ida Pro和Core Dump文件定位崩溃位置(Linux下无调试符号的进程专享)
    我们在嵌入式Linux开发过程中经常会遇到一个问题,就是程序崩溃后不知道具体位置。因为我们发布到生产环境的一般是没有调试符号的(使用strip或编译时加-s参数,CMake生成的编译指令中的-O3也会造成调试符号丢失),毕竟嵌入式的存储都比较有限,肯定是需要剥离调试符号的。另外一个......
  • 《代码大全》读后感-第一章
    当我翻开《代码大全》这本书,开始阅读第一章时,仿佛开启了一场充满智慧与启迪的编程之旅。这一章犹如一把钥匙,为我打开了通往高质量软件开发世界的大门,让我对软件构建有了全新的认识和深刻的感悟。第一章以一种引人入胜的方式介绍了软件构建的重要性和复杂性。它让我明白,软件构建不......