李洪强漫谈iOS开发[C语言-004]-开发概述程序设计语言程序编译过程


汇编语言
指令用特定的名字来标记,这就是汇编语言
人比较容易看懂汇编语言
汇编直接和程序一一对应的
有汇编器把程序翻译成机器码
把高级语言编译成计算机识别的语言
程序编译过程
命令行
UNIX 系统中自带了C语言的编译器,编译器的名字叫CC
CC 的含义是C Compler
Linux系统是一个开源的,它自带的C编译器叫GCC
GCC 不仅可以编译C 还可以编译Python 和OC
MAC OS 的编译器是苹果公司自己研发的 Clang
在用CC或者GCC 的命令的时候,本质是调用了clang 的命令
用终端演示整个程序执行过程
touch main.c 修改文件的某个属性 (当文件不存在的时候,就会创建出来)
- c 编译的意思 回车 得到main.o文件 就是目标文件 是二进制格式的
但是不能执行,因为没有链接 用 clang main.o 来链接 ->a.out
./ 代表的是当前目录
./ a.out
命令
clang -c main.c
//含义是编译main.c这个文件,生成main.o文件,文件是二进制格式的,但是不能
//执行,
clang main.o
//链接main.o文件,链接的功能就是让我 的程序知道系统是如何执行有关代码的
//链接完成后生成 a.out文件
//a.out 含义是 assimbly output 二进制输出格式
李洪强漫谈iOS开发[C语言-004]-开发概述程序设计语言程序编译过程的更多相关文章
- 李洪强漫谈iOS开发[C语言-043]-判断较早日期
李洪强漫谈iOS开发[C语言-043]-判断较早日期
- 李洪强漫谈iOS开发[C语言-043]-练习
李洪强漫谈iOS开发[C语言-043]-行李重量计算价格
- 李洪强漫谈iOS开发[C语言-042]-简单计算器
李洪强漫谈iOS开发[C语言-042]-简单计算器
- 李洪强漫谈iOS开发[C语言-041]-计算月份天数
李洪强漫谈iOS开发[C语言-041]-计算月份天数
- 李洪强漫谈iOS开发[C语言-040]-switch case
李洪强漫谈iOS开发[C语言-039]-switch case 补充:
- 李洪强漫谈iOS开发[C语言-039]-剪刀石头布
李洪强漫谈iOS开发[C语言-039]-剪刀石头布
- 李洪强漫谈iOS开发[C语言-038]-if else if语句
李洪强漫谈iOS开发[C语言-038]-if else if语句
- 李洪强漫谈iOS开发[C语言-037]-if else 语句
李洪强漫谈iOS开发[C语言-037]-if else 语句
- 李洪强漫谈iOS开发[C语言-044]-翻译数字
李洪强漫谈iOS开发[C语言-044]-翻译数字
- 李洪强漫谈iOS开发[C语言-003]-开发概述程序设计语言
李洪强iOS开发之程序设计语言 printf 是打印的意思- 格式化输出 f: format 格式化 C语言编译器 编译器的功能就是将高级语言的源代码,翻译成机器可以识别的二进制文件就是可执 行文件- ...
随机推荐
- Swift Tips - 在 Swift 中自定义下标访问
Untitled Document.md input[type="date"].form-control,.input-group-sm>input[type="d ...
- scjp考试准备 - 1 - 循环控制
判断如下代码最后的执行结果. public class Breaker{ static String o = ""; public static void main(String[ ...
- SharePoint 2010 RBS 安装和配置遇到的一个问题
在按照微软官方的文档按照配置的时候遇到下面问题: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event ...
- Qt入门1---widget、mainwindow和Dialog区别
摘要: 看了一个月的Qt,居然没有理清Qt中 ------------------------------------ 1.QMainWindow A main window provides a f ...
- 16位CPU多周期设计
16位CPU多周期设计 这个工程完成了16位CPU的多周期设计,模块化设计,有包含必要的分析说明. 多周期CPU结构图 多周期CPU设计真值表 对应某一指令的情况,但仅当对应周期时才为对应的输出,不是 ...
- 【转载】如何在FPGA设计环境中添加加时序约束
转自:http://bbs.ednchina.com/BLOG_ARTICLE_198929.HTM 如何在FPGA设计环境中加时序约束 在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序 ...
- snmp4j 编程
从www.snmp4j.org下载snmp4j的jar包,用eclipse新建一个java项目.将jar包导入工程(只有一个jar包),开始编程 一个简单的测试程序 //create target / ...
- Android -- 经验分享
目录 代码中安装 ...
- 延迟加载 ERROR org.hibernate.LazyInitializationException:42 - could not initialize proxy - ...
no Session问题,即延迟加载 延迟加载的问题是指当我们调用完action中的某个方法,在jsp页面要显示我们想要的信息的时候,发现在dao中打开的session已经关闭了. 如下图,第一个箭头 ...
- 【转】oracle查询不到表的问题
ORACLE的问题解决:Ora-00942:表或视图不存在 分类: 数据库2006-07-05 00:15 10793人阅读 评论(4) 收藏 举报 oraclesqlmanager 由powerde ...