美文网首页
三、典型C程序的执行步骤和操作系统

三、典型C程序的执行步骤和操作系统

作者: LucXion | 来源:发表于2020-03-18 14:33 被阅读0次

典型的C实现通过 编译和链接 两个步骤来完成.编译器把 源代码编译成中间代码(机器语言代码),链接器将 中间代码和其他代码(系统的标准启动代码 及 预编译的库代码)合并 ,生成可执行文件.

UNIX(FreeBSD)

  1. 在UNIX上 编辑
    C没有自己的编辑器,但是可以使用UNIX通用的编辑器(jove,emacs,vi),或X window System文本编辑器
    UNIX区分大小写
  2. 在UNIX上 编译
    UNIX系统提供的C编译器通常来自其他的源,然后以cc命令作为编译器别名,因此虽然在不同的系统中会调用不同的编译器,但用户依然可以继续使用相同的命令.

GNU
(GNU’s NOT UNIX)是开发大量UNIX免费软件的合集, GNU编译器合集也被成为GCC 其中包含GCC C, GCC有各种不同的版本来适应硬件平台及操作系统,用gcc命令即可调用GCC C编译器,许多实用gcc的系统都用cc作为gcc的别名

LLVM项目
LLVM成为cc的代替品,是与编译器相关的开源软件合集.它的Clang编译器处理C的代码,可以通过clang调用,2012年Clang成为FreeBSD默认的C编译器.
GNU 和 LLVM 都使用 cc作为别名,因此各个系统都可以使用cc来代替gcc或clang
如查看编译器版本命令行 cc -v

Linux

是一个开源、流行、类似与UNIX的操作系统。在Linux中准备C程序与在UNIX上几乎一致,不同的是要使用GNU提供的GCC公共域的C编译器,编译命令类似于:
gcc inform.c
安装Linux可以选择是否安装GCC,如果之前没有安装,则必须安装

PC的命令行编译器

C编译器不是标准Windows软件包的一部分,需要从别处安装(Cygwin和MinGW),
Cygwin在自己的视窗运行,MinGW在Windows的命令提示模式中运行。支持C99和C11。Borland的C++编译器5.5也可以免费下载,支持C90
源代码文件应该是文本文件,不是字处理文件(包含额外信息,如字体、格式等)。因此要使用文本编辑器来编辑源代码,源代码的扩展名应该是.c
通常,C编译器生成的中间目标代码的扩展名是.obj
与UNIX编译器不同,这些编译器在编译完成后通常不会删除中间文件,有些编译器生成带.asm扩展名的汇编语言文件。有些也使用自己特有的格式。
有些编译器在编译后会自动运行链接器,有些则需要手动运行链接器。

Microsoft Visual Studio 和 C标准

Microsoft Visual Studio 又简称VS或MSVS,是微软的开发工具包系列产品。是一个开发工具集,包括了整个软件声明周期中所需要的大部分工具。如UML工具、代码管控工具、集成开发环境(IDE)等。目标代码适用于微软支持的所有平台。
虽然Visual Studio 支持C89/C99,但它只是选择性的支持那些在C++新特性中能找到的C标准(如long long类型),且自2012年版本起,Visual Studio就不再把C作为项目类型的选项,但几乎所有的C程序都能在C++程序中运行,可以通过更改文件扩展名,使编译器用C的语言规则来代替C++。

Windows / Linux
许多Linux发行版都可以安装在Windows中,以创建双系统,一些存储器会为Linux系统预留空间,以便启动的时候可以启动Windows或者Linux,可以在Windows中运行Linux程序,也可以在Linux中运行Window程序,但是不能通过Windows访问Linux文件,可以通过Linux访问Windows文档。

Macintosh 中的 C
Xcode使用GCC C或者Clang 编译器来编译C代码,以前默认用GCC C现在用Clang。可以自行选择编译器和C标准。
UNIX系统内置Mac OS X, 终端工具打开窗口是为了让用户在UNIX命令行环境中运行程序。还可以通过xcode下载其他的命令行工具,可以使用gcc和clang命令在命令行模式中编译。

检索词条:
C的实现:编译、链接
UNIX上的编辑和编译
GNU、GCC、GCC C
LLVM、Clang

Linux GCC
PC Cygwin和MinGW .obj/.asm
Microsoft Visual Studio
Windows / Linux 可以相互运行程序,Windows不可以访问Linux文件,Linux可以访问Windows文档
Macintosh 中的 C UNIX系统内置Mac OS X

相关文章

  • 三、典型C程序的执行步骤和操作系统

    典型的C实现通过 编译和链接 两个步骤来完成.编译器把 源代码编译成中间代码(机器语言代码),链接器将 中间代码和...

  • 从源程序到可执行文件(物语4)

    我们用C语言编写最简单的程序后,这个程序还是不能在操作系统上执行,需要经过翻译,编译和链接之后才能独立在操作系统...

  • C语言 目标文件和可执行文件(ELF文件)

    1.C语言创建程序 1.1C语言创建(分为4个步骤) 编辑 编译 链接 执行 编辑:就是创建和修改C程序的源代码-...

  • 19年3月二级C--程序设计基本概念

    1.C语言源程序,经编译后生成后缀为.obj的目标程序(不能直接执行)。 C程序经过编译,连接步骤之后,才能形成一...

  • Linux 编译和链接程序

    Linux 编译和链接程序 使用编译器gcc g++Linux可执行程序编译步骤1、编译c/cpp文件 ->.o2...

  • c语言中竟有这样的事情……

    1.c语言程序执行顺序:编辑,编译,连接,运行 2.什么是算法,解决问题的步骤和方法。 算法+数据结构=程序 3....

  • 进程知识点

    典型的linux结构 shell命令执行过程 三进程概念 程序的一个执行实例 正在执行的程序 能分配处理器并由处理...

  • APUE读书笔记-01UNIX系统概述

    1、简介 所有的操作系统都为运行于其上的应用程序提供服务。典型的服务包括执行一个新的程序,打开一个文件,读取文件,...

  • C++线程与智能指针

    线程 线程,有时被称为轻量进程,是程序执行的最小单元。 C++11线程 POSIX线程 POSIX 可移植操作系统...

  • iOS_Runtime理解

    一、什么是 Runtime 在 C 语言中,将代码转换为可执行程序,一般要经历三个步骤,即编译、链接、运行。在链接...

网友评论

      本文标题:三、典型C程序的执行步骤和操作系统

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