首页 > 其他分享 >[转载]编译、生成、调试和运行有什么区别?

[转载]编译、生成、调试和运行有什么区别?

时间:2023-10-25 13:33:15浏览次数:38  
标签:程序 生成 编译 调试信息 调试 转载 运行

编译:

把源代码翻译成机器代码(二进制文件)。编译过程一般有①预处理、②编译生成中间文件、③链接 三个大过程。

生成:

综合完成这个目标所用到的所有资源,根据配置的参数(各个项目属性,引用目录,解决方案属性等等),生成帮助完成目标的工具(可以运行的程序)。

调试:

代码在debug模式下编译以后,编译器在代码中插入调试信息,可以一步一步运行程序,查看中间结果。真正程序发布时,需要在Release模式下编译,去掉调试信息,否则Debug模式为了调试方便,添加很多辅助内容,也不会进行优化,程序效率比较低。

运行:

①运行生成的程序 ②编译源代码的时候,可能需要如CMake等工具辅助多文件编译,那么就需要编写CMakeList然后运行CMake工具来完成多文件编译。

标签:程序,生成,编译,调试信息,调试,转载,运行
From: https://www.cnblogs.com/workbox/p/17787031.html

相关文章

  • 关于及时编译与JIT
     #我在host机上将c语言程序通过LLVM编译成中间代码IR,让把IR加载到ARM开发板执行可以吗? 是的,您可以在主机上使用LLVM将C语言程序编译为中间代码(IR),然后将该IR代码加载到ARM开发板上执行。要实现这一目标,您需要完成以下步骤:在主机上安装LLVM编译器,并使用......
  • H5与Android的调试
    准备工作:PC下载并安装chrome(谷歌)浏览器一台安卓手机(4.4系统以上),用usb线链接电脑,打开开发者模式,且允许WebView进行调试,需新增如下代码:WebView.setWebContentsDebuggingEnabled(true);编译并运行代码chrome浏览器地址栏输入chrome://inspect,进入后点击inspect即进入调试模式(需要......
  • bilibili B站:makefile 编译Linux C/C++项目快速入门
    视频摘自:https://www.bilibili.com/video/BV1vg41177zT    ......
  • Window 上 VS Code 无法编译Rust 文件的错误
    Window上VSCode无法编译Rust文件的错误error:linker`link.exe`notfound在CMD中运行以下命令1.rustuptoolchaininstallstable-x86_64-pc-windows-gnu2.rustupdefaultstable-x86_64-pc-windows-gnu参考:https://blog.csdn.net/Libigtong/article/details/131823204......
  • 转载 vue-cli5降级为vue-cli4
    vue-cli5降级为vue-cli41.启动命令行,运行npmconfigls-l,找到userconfig路径下的.npmrc文件进行删除;2.输入wherevue,把vuevue.cmd这两个文件删除;3.输入vue-V,会显示‘vue’不是内部或外部命令,也不是可运行的程序或批处理文件。4.运行npmunivue-cli-g;5.安装任意指定......
  • Linux下gcc编译,动态库和静态库,makefile,gdb调试
    1.编译过程1.1预处理(Pre-Processing)展开头文件,宏替换(变量宏、函数宏)、替换空格等gcc-Ehello.c-ohello.i//-E预处理选项,-o重命名1.2编译(Compilation)逐行检查程序中出现的语法错误,简单的逻辑错误gcc-Shello.i-ohello.s1.3汇编(Asse......
  • JS反调试绕过&JS代码混淆&JSFUCK编码
    JS反调试绕过&JS代码混淆&JSFUCK编码如果目标网站的JS代码中有比较机密的东西,会启用反调试,代码混淆这些功能防止泄露机密数据。下面说说几种绕过目标网站JS反调试功能的方法。-禁用断点点击下图那个禁用断点的按钮即可禁止断点过后,大多数情况下可以绕过对方的反调试,但是自己也......
  • C++的编译链接与在vs中build提速
    通过gcc或msvc,clang等编译器编译出来的C++源文件是.o文件。在windows上也就是PE文件,linux为ELF文件,在这一步中,调用其它代码文件中的函数的函数地址是未知的(00000),等到链接之后才会替换掉函数地址的linux,windows可执行文件(ELF、PE)C++是如何编译的C/C++编译过程主要分为4个过程......
  • C#序列化和反序列化JSON的两种方法(转载)(三)
    C#有两种方式序列化和反序列化JSON字符串:第一种是System.Web.Script.Serialization下的JavaScriptSerializer,原生自带的这种方法需要与类绑定,不方便。第二种是Json.NET第三方库方法,既可以与对象绑定,也可以反序列化为更通用的JObject,方便易用,推荐。一:  JavaScript......
  • uniapp引入H5调试vConsole
    在真机环境下调试移动端H5的时候,无法像浏览器一样打开控制台进行console调试,那么我们可以在前端项目中引入vconsole,便于我们在真机环境下调试移动端H5项目vConsole是一个轻量、可拓展、针对手机网页的前端开发者调试面板。详细文档可查看:https://gitee.com/mirrors/vConsole/功......