当前位置: 首页 > news >正文

吉林市建设局网站肇庆网站优化建设

吉林市建设局网站,肇庆网站优化建设,在网站上怎么做推广,网站如何设置404页面三个问题 了解Hello World程序的执行过程有什么用? 编译和执行#xff1a;Hello World程序的执行分为两个主要步骤#xff1a;编译和执行。编译器将源代码转换为可执行文件#xff0c;然后计算机执行该文件并输出相应的结果。了解这个过程可以帮助我们理解如何将代码转化…三个问题 了解Hello World程序的执行过程有什么用? 编译和执行Hello World程序的执行分为两个主要步骤编译和执行。编译器将源代码转换为可执行文件然后计算机执行该文件并输出相应的结果。了解这个过程可以帮助我们理解如何将代码转化为可运行的程序。 语法和语义Hello World程序是一个简单的示例它包含一些基本的语法和语义规则。通过学习Hello World程序的执行过程我们可以了解如何正确使用编程语言的关键字、标识符、语句和表达式以及它们在程序中的作用。 调试和错误处理当我们编写代码时经常会出现错误。了解Hello World程序的执行过程可以帮助我们更好地理解和调试代码中的错误。我们可以学习如何查找和修复常见的语法错误和逻辑错误并提高代码的质量和可靠性。 程序输出和交互Hello World程序的执行结果通常是在终端或命令行中输出一段文本。这可以帮助我们理解程序如何与用户进行交互并将结果展示给用户。了解这个过程对于开发复杂的应用程序和用户界面是很重要的。 裸机开发中的HelloWorld程序是怎么执行的? 第一步进行源代码的编写其中关键的点在于printf函数的实现它需要依赖单片机的串口驱动程序。 第二步: 借助一些集成开发环境进行程序的编译。一键编译无需学习编译链接相关知识。 第三步: 借助烧录工具烧录到具体芯片上。一键烧录无需学习芯片的flash和各种各样启动方式。 第四步: 上电启动开发板串口输出“Hello World”字符串。 Linux系统下的Hello World程序是怎么执行的? 四个案例 gcc预处理c文件 COLLECT_GCC_OPTIONS-E -o hello.i -v -mtunegeneric -marchx86-64 /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -E -quiet -v -imultiarch x86_64-linux-gnu hello.c -o hello.i -mtunegeneric -marchx86-64 -fstack-protector-strong -Wformat -Wformat-security 这是一个gcc编译器的命令行选项示例。它的作用是将C源文件hello.c预处理为hello.i文件。下面是每个选项的解释 -E: 表示只进行预处理不进行编译和链接操作。-o hello.i: 指定预处理输出的文件名为hello.i。-v: 详细输出编译器执行的信息。-mtunegeneric: 指定编译时针对通用处理器进行优化。-marchx86-64: 指定生成适用于x86-64架构的代码。-fstack-protector-strong: 生成强制堆栈保护的代码以防止缓冲区溢出漏洞。-Wformat -Wformat-security: 开启有关格式化字符串的警告。 gcc编译c文件 gecubuntu:~/hello$ sudo gcc -S hello.i -o hello.s -v COLLECT_GCC_OPTIONS-s -o hello.s -v -mtunegeneric -marchx86-64  /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -fpreprocessed hello.i -quiet -dumpbase hello.i -mtunegeneric -marchx86-64 -auxbase hello -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/cc88JZ4W.s 这是gcc编译器的另一个命令行选项示例。它的作用是将预处理过的文件hello.i进行进一步编译生成汇编语言文件hello.s。下面是每个选项的解释 -s: 生成汇编语言文件。-o hello.s: 指定汇编语言输出文件名为hello.s。-v: 详细输出编译器执行的信息。-mtunegeneric: 指定编译时针对通用处理器进行优化。-marchx86-64: 指定生成适用于x86-64架构的代码。-fpreprocessed hello.i: 指定预处理过的文件hello.i作为输入文件。-dumpbase hello.i: 指定基础输入文件为hello.i。-auxbase hello: 指定辅助的基本文件名为hello。-version: 打印版本信息。-fstack-protector-strong: 生成强制堆栈保护的代码以防止缓冲区溢出漏洞。-Wformat -Wformat-security: 开启有关格式化字符串的警告。-o /tmp/cc88JZ4W.s: 指定汇编语言输出文件的路径为/tmp/cc88JZ4W.s。 gcc编译汇编 sudo gcc -c hello.s -o hello.o -v gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)  COLLECT_GCC_OPTIONS-c -o hello.o -v -mtunegeneric -marchx86-64  as -v --64 -o hello.o hello.s as -v --64 -o hello.o hello.s gcc在把汇编文件编译为重定位文件时使用的是as这个应用程序   gcc链接可重定位文件 ld连接器 collect2封装了ld连接器 COLLECT_GCC_OPTIONS-o hello -v -mtunegeneric -marchx86-64  /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt-fresolution/tmp/cc9OI5DQ.res -plugin-opt-pass-through-lgcc -plugin-opt-pass-through-lgcc_s -plugin-opt-pass-through-lc -plugin-opt-pass-through-lgcc -plugin-opt-pass-through-lgcc_s --sysroot/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-stylegnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o hello /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. hello.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o (封装了ld程序) 静态链接 COLLECT_GCC_OPTIONS-o hello_static -v -static -mtunegeneric -marchx86-64  /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt-fresolution/tmp/ccqTGMxr.res -plugin-opt-pass-through-lgcc -plugin-opt-pass-through-lgcc_eh -plugin-opt-pass-through-lc --sysroot/ --build-id -m elf_x86_64 --hash-stylegnu --as-needed -static -z relro -o hello_static /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginT.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. hello.o --start-group -lgcc -lgcc_eh -lc --end-group /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o 输入ls -lh 可以看到动态编译和静态编译的两个文件大小区别
http://www.yutouwan.com/news/375055/

相关文章:

  • 网站怎样做seo百度搜索资源平台提交
  • 昆明网站建站平台游戏网站风控怎么做
  • 网站建设人员分工表安钢贴吧论坛
  • 专业网站建设哪里有wordpress帖子置顶
  • 南宁 网站设计常州建设网站公司
  • 做网站卖东西赚钱吗创建团购网站
  • 中山网站建设文化信息青岛网站建设搭建
  • 兰溪高端网站建设公司最全的网站大全
  • 淮安市网站大理网站建设网站建设
  • 平面设计与网站开发的概述更改wordpress登陆
  • 做外贸必须知道的网站数字经济发展情况报告
  • 小创业公司网站怎么做成都做网站建设公司
  • 个人网站 虚拟主机全国网站建设公司有多少家
  • 网站建设分为几种网站论坛制作
  • 如何做基金公司网站国际新闻最新10条
  • 宝塔建站详细教程搜索引擎调价工具哪个好
  • 建设工程质量+协会网站互联网外包公司
  • 丹阳企业网站建设做网站生意不赚钱
  • 国内永久在线免费建站wap网站模板下载
  • 青岛优化网站关键词网站开发 项目的招标文件
  • 专业建站公司靓号网站建设
  • 南谯区城乡建设局网站外链平台有哪些
  • 做字典网站开发怎么做网站网站不被发现
  • 网站建网站建设和优wordpress后台500
  • 网站建设 微信网站常见故障
  • 网站开发是前端吗成都管控政策最新消息
  • 免费的cms视频网站模板wordpress切换成中文字体
  • 销售型网站有哪些正规拼多多代运营公司
  • dede网站建设步骤网站优化防范
  • 南京做网站xjrkj网络服务商怎么咨询