社区
C语言
帖子详情
源代码写得紧凑有没有助于提高程序的运行效率?
gaomou
2003-10-18 05:25:28
源代码写得紧凑是不是有助于提高程序的运行效率?
...全文
83
11
打赏
收藏
源代码写得紧凑有没有助于提高程序的运行效率?
源代码写得紧凑是不是有助于提高程序的运行效率?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
147272947
2003-10-19
打赏
举报
回复
代码是写给人看的,当然不能写的一团糟啦,建议不要写很紧凑。你算法正确机器编译通过一般运行没问题。
hcj2002
2003-10-19
打赏
举报
回复
当然不会
Beover1984
2003-10-18
打赏
举报
回复
不会的,只有机器代码和机器影响速度
tongjun
2003-10-18
打赏
举报
回复
不会的
飞行的兔子
2003-10-18
打赏
举报
回复
肯定不能啦!写得紧凑只是自己的想法而已!电脑可没你那么聪明,紧凑点就会效率高.
关键是你设计算法是考虑到时间和空间复杂度而已,所以归根结底还是你的算法设计问题.
Wolf0403
2003-10-18
打赏
举报
回复
如果你是说的空格、回车,TAB 什么的,那么有害无益。
williamVII
2003-10-18
打赏
举报
回复
无.
不过好的编译器通常会对你的代码进行优化
nmgpy
2003-10-18
打赏
举报
回复
对算法决定速度,机器执行的不是你看的代码是编译后的。
galaxy_fxstar
2003-10-18
打赏
举报
回复
不可能,最好不要写的太紧凑,那样会影响阅读!
Neptune2003
2003-10-18
打赏
举报
回复
没有.
smj31
2003-10-18
打赏
举报
回复
源代码写得紧凑不能提高效率,若想提高效率只能改善算法
汇编语言作业.zip
汇编语言是一种低级编程语言,它直接对应于计算机的机器语言,但使用了人类可读的助记符和符号来替代机器语言中的二进制指令和地址。以下是关于汇编语言的详细说明: ### 基本概念与特性 1. **机器相关性**: - **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编
程序
通常不能直接在不同类型的处理器上
运行
,不具备
源代码
级别的可移植性。 2. **指令与操作码**: - **助记符表示**:汇编语言使用助记符(mnemonics)来代表特定的机器指令,这些助记符往往与指令的功能相关,如`MOV`(移动数据)、`ADD`(加法)、`JMP`(跳转)等。每个助记符对应一个特定的二进制操作码。 3. **低级操作**: - **直接硬件控制**:汇编语言允许
程序
员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间
效率
要求极高、需要精确控制硬件的
程序
,如设备驱动、实时系统内核、性能关键算法等。 4. **代码
效率
**: - **
紧凑
的代码**:汇编
程序
生成的目标代码通常比高级语言编译后的代码更为
紧凑
,占用内存较少。 - **快速执行**:由于直接对应于机器指令,汇编
程序
在执行时无需经过复杂的解释或编译过程,能够快速、高效地被执行。 5. **编写与调试难度**: - **复杂性高**:编写汇编
程序
需要深入了解计算机体系结构和指令集细节,即使是简单的任务也可能需要大量的指令。此外,
程序
逻辑的表述不如高级语言直观,容易出错且难以阅读和维护。 - **调试挑战**:由于代码高度依赖具体的硬件状态,调试汇编
程序
可能非常困难,尤其是在处理复杂的控制流、数据依赖性和异常处理时。 6. **工具支持**: - **汇编器**:汇编语言
源代码
通过汇编器(assembler)转换成机器语言(机器码或二进制码),汇编器负责将助记符和符号地址解析为具体的机器指令和物理地址。 - **链接器**:生成的机器码通常需要链接器(linker)进行链接,将多个目标文件合并为一个可执行文件,同时解决外部符号引用。 ### 应用场景与优势 汇编语言主要应用于以下几个方面: - **系统级编程**:操作系统内核、设备驱动、中断服务
程序
等底层软件开发,这些领域要求对硬件有精细控制,且性能要求高。 - **性能优化**:在高级语言编写的
程序
中,对性能敏感的部分可以用汇编重写以提升
效率
。 - **反病毒与安全研究**:理解和编写汇编代码
有助于
分析恶意软件行为、逆向工程及编写防病毒软件。 - **教学与理解计算机原理**:学习汇编语言
有助于
深入理解计算机体系结构、指令集、内存管理和硬件接口等基础概念。 ### 编程特点与挑战 - **手动管理内存**:
程序
员需要手动分配和释放内存,跟踪数据在内存中的位置,处理堆栈、堆和静态内存区域。 - **无高级抽象**:缺乏高级语言中的类、对象、函数库等高级抽象概念,所有编程结构如循环、条件分支等都需要手工实现。 - **依赖特定硬件**:汇编
程序
直接依赖于特定处理器的指令集、寄存器组织和寻址模式,更换硬件平台通常意味着重新编写代码。 尽管汇编语言具有上述挑战,但它在特定场景下提供了无可比拟的优势,如极高的执行
效率
、对硬件资源的精确控制以及在安全和反病毒领域的应用。随着编译器技术的进步,许多高级语言也能生成高效的目标代码,但在某些对性能和硬件控制有严格要求的情况下,汇编语言仍然是不可或缺的工具。
汇编语言不会编.zip
汇编语言是一种低级编程语言,它直接对应于计算机的机器语言,但使用了人类可读的助记符和符号来替代机器语言中的二进制指令和地址。以下是关于汇编语言的详细说明: ### 基本概念与特性 1. **机器相关性**: - **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编
程序
通常不能直接在不同类型的处理器上
运行
,不具备
源代码
级别的可移植性。 2. **指令与操作码**: - **助记符表示**:汇编语言使用助记符(mnemonics)来代表特定的机器指令,这些助记符往往与指令的功能相关,如`MOV`(移动数据)、`ADD`(加法)、`JMP`(跳转)等。每个助记符对应一个特定的二进制操作码。 3. **低级操作**: - **直接硬件控制**:汇编语言允许
程序
员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间
效率
要求极高、需要精确控制硬件的
程序
,如设备驱动、实时系统内核、性能关键算法等。 4. **代码
效率
**: - **
紧凑
的代码**:汇编
程序
生成的目标代码通常比高级语言编译后的代码更为
紧凑
,占用内存较少。 - **快速执行**:由于直接对应于机器指令,汇编
程序
在执行时无需经过复杂的解释或编译过程,能够快速、高效地被执行。 5. **编写与调试难度**: - **复杂性高**:编写汇编
程序
需要深入了解计算机体系结构和指令集细节,即使是简单的任务也可能需要大量的指令。此外,
程序
逻辑的表述不如高级语言直观,容易出错且难以阅读和维护。 - **调试挑战**:由于代码高度依赖具体的硬件状态,调试汇编
程序
可能非常困难,尤其是在处理复杂的控制流、数据依赖性和异常处理时。 6. **工具支持**: - **汇编器**:汇编语言
源代码
通过汇编器(assembler)转换成机器语言(机器码或二进制码),汇编器负责将助记符和符号地址解析为具体的机器指令和物理地址。 - **链接器**:生成的机器码通常需要链接器(linker)进行链接,将多个目标文件合并为一个可执行文件,同时解决外部符号引用。 ### 应用场景与优势 汇编语言主要应用于以下几个方面: - **系统级编程**:操作系统内核、设备驱动、中断服务
程序
等底层软件开发,这些领域要求对硬件有精细控制,且性能要求高。 - **性能优化**:在高级语言编写的
程序
中,对性能敏感的部分可以用汇编重写以提升
效率
。 - **反病毒与安全研究**:理解和编写汇编代码
有助于
分析恶意软件行为、逆向工程及编写防病毒软件。 - **教学与理解计算机原理**:学习汇编语言
有助于
深入理解计算机体系结构、指令集、内存管理和硬件接口等基础概念。 ### 编程特点与挑战 - **手动管理内存**:
程序
员需要手动分配和释放内存,跟踪数据在内存中的位置,处理堆栈、堆和静态内存区域。 - **无高级抽象**:缺乏高级语言中的类、对象、函数库等高级抽象概念,所有编程结构如循环、条件分支等都需要手工实现。 - **依赖特定硬件**:汇编
程序
直接依赖于特定处理器的指令集、寄存器组织和寻址模式,更换硬件平台通常意味着重新编写代码。 尽管汇编语言具有上述挑战,但它在特定场景下提供了无可比拟的优势,如极高的执行
效率
、对硬件资源的精确控制以及在安全和反病毒领域的应用。随着编译器技术的进步,许多高级语言也能生成高效的目标代码,但在某些对性能和硬件控制有严格要求的情况下,汇编语言仍然是不可或缺的工具。
记录MIPS汇编语言和8086汇编语言的学习
汇编语言是一种低级编程语言,它直接对应于计算机的机器语言,但使用了人类可读的助记符和符号来替代机器语言中的二进制指令和地址。以下是关于汇编语言的详细说明: ### 基本概念与特性 1. **机器相关性**: - **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编
程序
通常不能直接在不同类型的处理器上
运行
,不具备
源代码
级别的可移植性。 2. **指令与操作码**: - **助记符表示**:汇编语言使用助记符(mnemonics)来代表特定的机器指令,这些助记符往往与指令的功能相关,如`MOV`(移动数据)、`ADD`(加法)、`JMP`(跳转)等。每个助记符对应一个特定的二进制操作码。 3. **低级操作**: - **直接硬件控制**:汇编语言允许
程序
员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间
效率
要求极高、需要精确控制硬件的
程序
,如设备驱动、实时系统内核、性能关键算法等。 4. **代码
效率
**: - **
紧凑
的代码**
为什么要阅读
源代码
?如何有效的阅读
源代码
? 选一些比较优秀的开源产品作为
源代码
阅读对象?
盛大TeamHost上有个关于学习开源项目的wiki :http://www.teamhost.org/projects/learn-with-open-source/wiki/Wiki 一、为什么要阅读
源代码
? 很多作家成名之前都阅读过大量的优秀文学作品,经过长期的阅读和写作积累,慢慢的才有可能写出一些好的、甚至是优秀的文学作品...
软件工程学习笔记(七)~编写高质量代码
1.下面的( )不是良好编码的原则。D A 在开始编码之前建立单元测试 B 建立一种
有助于
理解的直观布局 C 确保注释与代码完全一致 D 保持变量名简短以便代码
紧凑
2.下面的( )是错误的。C A在
程序
设计中使用括号以改善表达式的清晰性 B不要修补不好的
程序
,要重新写 C在
程序
设计中应尽可能对
程序
代码进行优化 D不要在注释中重复描述代码 3.为了保证软件的质量,使其具有较好的可维护性,关键在于(...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章