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

wordpress 图片自动加水印东莞百度网站优化

wordpress 图片自动加水印,东莞百度网站优化,做一个app大概要多少钱,wordpress添加php页面一,序言 从代码到能跑的程序,整个过程就像 “把外文翻译成母语,再组装成能直接用的东西”,一步步来更清楚: 源代码(程序员写的代码,如C语言文件)↓ 预处理(处理#开头的命…

一,序言

从代码到能跑的程序,整个过程就像 “把外文翻译成母语,再组装成能直接用的东西”,一步步来更清楚:

源代码(程序员写的代码,如C语言文件)↓
预处理(处理#开头的命令,如#include、#define)↓
编译(把预处理后的代码转成汇编语言)↓
汇编(把汇编语言转成二进制机器码,生成目标文件,如main.o)↓
链接(合并多个目标文件和库文件,解决函数/变量地址问题)↓
可执行文件(生成能直接运行的文件,如.exe、ELF格式)↓
加载运行(操作系统把文件加载到内存,开始执行代码)

二,相关步骤简介

一、源代码:程序员写的 “原始稿”

就是我们用编程语言(比如 C 语言)写的代码,比如这个打印 “你好世界” 的小程序:

#include <stdio.h>
int main() {printf("Hello, World!\n");return 0;
}

二、预处理:先 “整理” 代码

用预处理器(比如 GCC 里的 cpp)处理代码里带#的命令,让代码更 “干净”:
1,比如#include <stdio.h>,会直接把 stdio.h 文件里的内容 “复制粘贴” 到代码里(因为 printf 函数的定义就在这个文件里);
2,要是有#define PI 3.14,会把代码里所有 “PI” 换成 “3.14”;
3,还能根据#ifdef这类命令,选择性保留代码(比如调试时用一段,发布时用另一段)。

处理完后,代码里就没有#命令了,只剩纯代码。

三、编译:翻译成 “汇编语言”

用编译器(比如 GCC 里的 cc1)把预处理后的代码,转成电脑硬件能理解的 “汇编语言”(相当于 “二进制的半成品”)。

过程中会检查代码对不对:比如语法错了(少个括号)、类型不匹配(整数函数返回空值)都会报错。

举个例子,前面的代码会变成类似这样的汇编:

main:推栈操作准备"Hello, World!"这个字符串调用printf函数返回0出栈操作

四、汇编:转成 “二进制指令”

用汇编器(比如 GCC 里的 as)把汇编语言转成电脑能直接执行的 “二进制机器码”,生成 “目标文件”(比如 main.o)。

这个文件里存着:
1,代码段:二进制的指令(比如调用 printf 的操作);
2,数据段:已经初始化的变量(比如int a=10);
3,符号表:记着变量、函数的位置(比如 printf 在哪儿)。

五、链接:拼出 “能跑的程序”

用链接器(比如 GCC 里的 ld)把多个目标文件(比如自己写的 main.o,还有系统提供的库文件)合并成一个 “可执行文件”。

核心是解决 “找不到东西” 的问题:比如代码里用了 printf,但目标文件里只知道有这个函数,不知道它在哪儿 —— 链接器会找到它在标准库(比如 libc)里的实际位置,把地址填对。

链接分两种:
1,静态链接:直接把库代码(比如 printf 的实现)复制到可执行文件里,文件会变大,但能独立运行;
2,动态链接:只记着依赖哪个库(比如 libc.so),运行时再加载,文件小,但需要系统里有这个库。

六、可执行文件:最终的 “成品”

生成的文件(比如 Windows 的.exe、Linux 的 ELF 文件)里有:
1,文件头:告诉系统怎么加载它、从哪儿开始执行;
2,代码和数据:合并后的二进制指令、变量;
3,动态链接信息(如果用了动态链接):记着需要哪些库。

七、运行:双击就能跑

双击可执行文件后,操作系统会:
1,给它分配内存,建个 “进程”;
2,把文件里的代码、数据从硬盘读到内存;
3,如果是动态链接,会加载需要的库;
4,最后跳到入口点(比如 main 函数),开始执行代码 —— 屏幕上就会显示 “Hello, World!” 啦。

编译型 vs 解释型语言,简单说:

类型编译型(比如 C/C++)解释型(比如 Python)
执行前先编译 + 链接,生成单独的可执行文件不用编译,直接用解释器一行行读代码跑
速度快(直接跑机器码)稍慢(每次都要解释)
跨平台不同系统可能要重新编译(比如 Windows 和 Linux)一次写完,有解释器就能跑
http://www.dtcms.com/a/583013.html

相关文章:

  • 类似非小号的网站怎么做wordpress seo是什么
  • 跑酷游戏开发笔记1 背景移动 cocos3.8.7
  • 开封旅游网站建设项目方案完整html网页代码案例
  • 设计企业网站wordpress聊天小工具
  • 输入框实现placeholder 变成 title 展示
  • WinSCP无法连接CenOS7,解决
  • 盈佳国际天天做赢家网站wordpress仿北京时间
  • Fastapi 进阶四:Redis数据库及aioredis使用
  • Redis分布式锁的最佳实践:基于Redisson的实现方案
  • ui做的好看的论坛网站wordpress改字体
  • 做网站所需的知识技能在线域名解析ip地址查询
  • (111页PPT)智慧工地施工智能化解决方案(附下载方式)
  • vxe-table和sortablejs实现行拖动
  • brew安装JD-GUI并解决启动问题
  • 数组:额外加餐的第二天
  • 网站模板ftpthinkphp网站开发技术
  • php个人网站模板下载电子商务网站前台建设常用的技术有
  • 哈尔滨 房产网站建设wordpress如何清除导入的模板
  • 可做市值曲线的网站建设一个功能简单的网站
  • 【ComfyUI】Wan2.2 动态服饰描述驱动换装图生视频
  • 基于VibeVoice搭建语音合成demo
  • react项目使用json-server模拟接口获取数据
  • 荆州建设局网站邯郸信息港征婚
  • 有口碑的番禺网站建设深圳招聘网最新招聘信息
  • 网站前台如何刷新整合营销案例
  • 可以自己做网站卖东西搜索引擎优化规则
  • C++ this指针、常函数、内联函数
  • 网页设计制作网站大一素材网站集群怎么做
  • Hudson River Trading VO 面经分享|一场关于极限思维与逻辑速度的考验
  • html5企业网站案例企业免费自助建站系统