美文网首页
C语言跨平台移植

C语言跨平台移植

作者: 杰_6343 | 来源:发表于2021-11-20 01:03 被阅读0次

C语言编译流程:

C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)

不同的CPU指令集对应不同的汇编语言的机器语言(机器码、机器指令),因此汇编语言和机器语言是不跨平台的。而C语言源码可以通过不同平台的编译器将源码重新编译的目标文件可以在平台上运行

C的源代码是跨平台的,而编译后的目标文件和可执行文件就不是跨平台的,跨平台主要是靠各个平台上的编译器,所谓“多次编译,到处运行”

这都要靠编译器的功劳,编译器将C程序翻译为了适合当前计算机体系的机器语言。

汇编语言所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快,但同时这也使编程更加复杂,因为既然数据是存放在寄存器或存储器中,那么必然就存在着寻址方式,也就是用什么方法找到所需要的数据

相关文章

  • C语言跨平台移植

    C语言编译流程: C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、...

  • flutter-对跨平台的理解

    一、跨平台语言 1、对跨平台的理解(跨操作系统) java语言的跨平台说白了是让程序员用户可以跨平台,它的平台移植...

  • 程序员该怎么去更好地掌握C语言?

    很多程序员已经知道了学习C语言的好处,以C++这个老语言为例,他的优点很多,可移植跨平台、安全、运行效率高等,C语...

  • 多线程

    pthread 一套用C语言的通用的多线程API,可以跨平台、可移植,适用于windows、Linux、Unix平...

  • Java基础: JVM和GC

    1. Java语言跨平台特性实现原理 Java是一个移植性好,可跨平台的语言。但其实它本身并不具有跨平台的特性,而...

  • libevent简单介绍

    libevent简单介绍: libevent是一个用C语言编写的事件通知库。有着卓越的性能,可移植性强,跨平台,轻...

  • 2. 指令集对CPU的意义

    汇编语言与c语言等高级语言的差异 汇编难写,c好写 汇编无可移植性,c语言有一定的可移植性,Java等高级语言移植...

  • 安全编码

    c良好的可移植性,跨平台和执行效率,是在操作系统级产品的基石。常年占据最受欢迎语言的前5。 开发安全、可靠和稳固的...

  • Java跨平台根本原因,面试必问JVM内存结构白话文详解来了

    目录 什么是跨平台?跨平台定义C语言代码能不能跨平台运行呢?Java跨平台的原因 JVM内存结构运行时数据区总览程...

  • 1、python和pycharm的安装

    1、python介绍Python是一个跨平台、可移植的编程语言,因此可在windows、Linux和Mac OS ...

网友评论

      本文标题:C语言跨平台移植

      本文链接:https://www.haomeiwen.com/subject/dtlytrtx.html