精华内容
下载资源
问答
  • C语言编译器前端

    2013-12-09 10:01:33
    上学时期写的C语言编译器前端,可以将简单C语言转变为中间代码。文档内包括设计和源代码。
  • 基于JavaCC的c语言编译器前端实现代码,偶然翻出来的,上传到这里,给需要的朋友参考,献丑了。
  • c语言编译器前端的设计与实现计 算 机 与 信 息 工 程 学 院软硬件专业综合课程设计总结报告题目: C语言编译器前端的设计与实现姓 名:学 号:专 业: 计算机科学与技术指导教师:起止日期:计 算 机 与 信 息 工 ...

    c语言编译器前端的设计与实现

    计 算 机 与 信 息 工 程 学 院

    软硬件专业综合课程设计总结报告

    题目: C语言编译器前端的设计与实现

    姓 名:

    学 号:

    专 业: 计算机科学与技术

    指导教师:

    起止日期:

    计 算 机 与 信 息 工 程 学 院

    软硬件专业综合课程设计任务书

    实践题目

    C语言编译器前端的设计与实现

    学生姓名

    班级

    学号

    指导教师

    职称

    实践地点

    计算机基础实验室

    实践日期

    选题的目的:

    编译器前端是制作一个编译器最为关键性的一个步骤,设计一个优秀的前端,直接影响到后期编译器的实现效率。编译器前端具有多样化,实现的方法较多,如何选择更优秀的方法来设计,让许多人一直不懈的研究下去。并且编译器前端的设计能与自然语言处理相互印证,是一个值得思考的领域。

    技术要求:

    1、熟练掌握一门语言,熟练掌握C语言语法使用,以及各种语法结构

    2、良好的算法数据结构基础,对常见的数据结构模型能够实现

    3、对编译原理知识有良好的基础,对于各种常见文法做到心中有数

    4、熟练使用VS2005开发工具

    进度安排:

    20**年11月26日——20**年**月09日 可行性研究、需求分析

    20**年**月10日——20**年**月23日 总体设计

    20**年**月24日——20**年01月06日 详细设计

    20**年01月07日——20**年01月**日 系统调试、测试

    20**年01月14日——20**年01月18日 撰写实训报告

    20**年01月19日——20**年01月20日 验收

    主要参考资料:

    [1] 钱焕延.编译技术第2版[M].南京:东南大学出版社出版,2002。

    [2] 康慕宁.编译原理[M].西安:西北工业大学出版社出版,2003。

    [3] 贺世娟,陈冀川.Visual studio 2005 程序设计[M].北京:中国水利水电出版社出版,2008.8。

    [4] 杨克玉.Visual studio 2005程序设计实训教程[M].北京:机械工业出版社出版,2009.2。

    教师签名:

    年 月 日

    C语言编译器前端的设计与实现

    摘 要:编译器是程序员使用的关键工具,程序员每天都在使用编译器,并且非常依赖于其正确性和可靠性。编译器作为广大IT从业者必须接触的系统软件,它的设计本身又是一个极其庞大的工程。编译器相关的各项技术经过近几十年的发展,已经日臻成熟,然而编译器构造原理和技术依然是计算机科学中理论与实践相结合的最好典范。

    本文首先介绍了C语言及C语言编译器的发展历程,其次对本次开发所用到的工具Visual Studio C++2005以及面向对象的程序设计方法做一下简单介绍。最后重点介绍了编译器前端的详细开发过程,分为三个部分分别阐述:词法分析器的设计,语法分析器的设计,语义分析部分。每个部分又分别从总体框架,详细流程,重点数据结构和函数,以及与其他部分的接口等方面予以阐述。由于C语言本身的复杂性,很难面面俱到实现所有标准定义,所以本次设计只象征性的选择部分具有代表性的功能。在本文的第四章详细给出了此次设计所实现的功能和语法规范,同时也给出了编译器的运行方式。

    关键词:编译器前端、C源程序、面向对象程序设计方法、VC++

    -

    - PAGE 1 -

    目 录

    TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc256980583" 摘要 PAGEREF _Toc256980583 \h I

    HYPERLINK \l "_Toc256980585" 第1章 绪论1

    HYPERLINK \l "_Toc256980586" 1.1 C语言及编译器概述 PAGEREF _Toc256980586 \h 1

    HYPERLINK \l "_Toc256980587" 1.2 C编译器设计思想 PAGEREF _Toc256980587 \h 1

    HYPERLINK \l "_Toc256980588" 1.3 开发工具的选用及介绍 PAGEREF _Toc256980588 \h 2

    HYPERLINK \l "_Toc256980589" 1.4 论文组织结构 PAGEREF _Toc256980589 \h 3

    HYPERLINK \l "_Toc256980590" 第2章 C语言词法分析器总体分析与设计4

    HYP

    展开全文
  • Clang:LLVM的C语言家族前端 Clang项目为LLVM 项目的C语言家族(C,C ++,Objective C / C ++,OpenCL,CUDA和RenderScript)中的语言提供了语言前端和工具基础结构。提供了GCC兼容的编译器驱动程序(clang)和MSVC...

    Clang:LLVM的C语言家族前端
    Clang项目为LLVM 项目的C语言家族(C,C ++,Objective C / C ++,OpenCL,CUDA和RenderScript)中的语言提供了语言前端和工具基础结构。提供了GCC兼容的编译器驱动程序(clang)和MSVC兼容的编译器驱动程序(clang-cl.exe)。可以立即获取并构建源。
    特点和目标
    该项目的一些目标包括:
    最终用户功能:
    • 快速编译和低内存使用
    • 表达诊断(示例)
    • GCC兼容性
    实用程序和应用程序:
    • 基于模块化库的架构
    • 支持各种客户端(重构,静态分析,代码生成等)
    • 允许与IDE紧密集成
    • 使用LLVM’Apache 2’许可证
    内部设计与实现:
    • 真实的,production quality compiler产品质量的编译器
    • 一个简单易学的代码库
    • 适用于C,Objective C,C ++和Objective C ++的单个统一解析器
    • 与C / C ++ / ObjC及其变体的一致性
    当然,这只是Clang的目标和功能的粗略概述。要真正了解它的全部含义,请参阅“功能”部分,其中详细介绍了每个功能,并对其进行了详细说明。
    为什么?
    新前端的开发是从对编译器的需求开始的,该编译器需要更好的诊断,与IDE的更好集成,与商业产品兼容的许可证以及易于开发和维护的灵活编译器。所有这些都是在可以满足这些需求的新前端上开展工作的动机。
    当前状态
    当针对X86-32,X86-64和ARM时,Clang被认为是产品质量的C,Objective-C,C ++和Objective-C ++编译器(其它目标可能会有警告,但通常很容易解决)。例如,在产品中使用Clang来构建对性能至关重要的软件,例如Chrome或Firefox。
    如果正在寻找源分析或源到源转换工具,那么Clang可能是理想选择。Clang支持C ++ 11,C ++ 14和C ++ 17,请参阅C ++状态页面以获取更多信息。

    展开全文
  • Clang:一个面向LLVM的C语言家族前端1. 特性和目标1.1 终端用户特性1.1.1 快速编译和低内存使用1.1.2 富有表现力的诊断1.1.3 GCC的兼容性1.2 实用程序和应用程序1.2.1 基于库的架构1.2.2 支持不同的客户1.2.3 与ide...


    Clang 项目为 LLVM 项目提供了 C 语言家族(C、C++、Objective C/C++、OpenCL、CUDA 和 RenderScript)中的语言的语言前端和工具基础结构。提供了一个 GCC 兼容的编译器驱动程序 (clang)和一个 MSVC 兼容的编译器驱动程序 (clang-cl.exe)。您可以在今天 获取并构建源代码。

    1. 特性和目标

    该项目的一些目标包括:

    终端用户的特性:

    • 快速编译和低内存使用
    • 富有表现力的诊断(例子)
    • GCC 的兼容性

    实用程序和应用程序:

    • 基于模块库的体系结构
    • 支持不同的客户端(重构、静态分析、代码生成等)
    • 允许与 IDEs 紧密集成
    • 使用 LLVM ‘BSD’ 许可证

    内部设计与实现:

    • 一个真实的,高质量的编译器
    • 一个简单且可编程的代码库
    • 一个用于 C、Objective C、C++ 和 Objective C++ 的统一解析器
    • 符合 C/C++/ObjC 及其变体

    1.1 终端用户特性

    1.1.1 快速编译和低内存使用

    clang 的主要工作重点是使其快速、轻便和可伸缩。clang基于库的体系结构使它可以直接分析栈的每一层的时间和成本,并且驱动程序有许多用于性能分析的选项。许多详细的基准可以在网上找到。

    编译时性能很重要,但是当使用clang作为API时,内存的使用往往更重要:代码占用的内存越少,一次可以放入内存的代码就越多(例如,对于整个程序分析工具很有用)。

    除了在批处理模式中与GCC进行正面对抗时效率更高之外,clang还使用基于库的架构构建,这使得对clang进行调整并使用它构建新工具变得相对容易。这意味着常常可以应用开箱即用的思想和新技术以各种方式改进编译。

    1.1.2 富有表现力的诊断

    除了快速和功能,我们的目标是使Clang非常友好的用户。就命令行编译器而言,这基本上可以归结为使编译器生成的诊断(错误和警告消息)尽可能有用。我们有几种方法可以做到这一点,但最重要的是准确地指出程序中的错误,突出显示相关信息,使其一目了然,并使措辞尽可能清晰。

    下面是一个简单的例子,说明了典型的GCC和Clang诊断之间的区别:

     $ gcc-4.9 -fsyntax-only t.c
      t.c: In function 'int f(int, int)':
      t.c:7:39: error: invalid operands to binary + (have 'int' and 'struct A')
         return y + func(y ? ((SomeA.X + 40) + SomeA) / 42 + SomeA.X : SomeA.X);
                                             ^
      $ clang -fsyntax-only t.c
      t.c:7:39: error: invalid operands to binary expression ('int' and 'struct A')
        return y + func(y ? ((SomeA.X + 40) + SomeA) / 42 + SomeA.X : SomeA.X);
                             ~~~~~~~~~~~~~~ ^ ~~~~~
    

    在这里,您可以看到甚至不需要查看原始源代码就可以根据Clang错误理解出了什么问题:因为Clang打印了一个插入符号,所以您确切地知道它所抱怨的是哪个。范围信息突出了加号的左边和右边,这使编译器所谈论的内容一目了然,这对于涉及优先级问题和许多其他情况的情况非常有用。

    Clang诊断学非常完善,具有许多特性。有关更多信息和示例,请参见富有表现力的诊断页面。

    1.1.3 GCC的兼容性

    GCC目前是标准的开源编译器,它通常会编译大量的代码。GCC支持大量的扩展和特性(其中许多是没有文档说明的),为了构建,许多代码和头文件都依赖于这些特性。

    虽然能够忽略这些扩展并将重点放在严格实现语言标准上是很好的,但是语用学迫使我们支持使用最多的GCC扩展。许多用户只想编译他们的代码,他们不关心它是否是C99。

    如上所述,所有扩展都被显式地识别为扩展诊断,并使用扩展诊断进行标记,扩展诊断可以映射到警告、错误或忽略。

    1.2 实用程序和应用程序

    1.2.1 基于库的架构

    Clang 的一个主要设计概念是使用基于库的体系结构。在这个设计中,前端的各个部分可以被清晰地划分为单独的库,然后可以根据不同的需求和用途混合使用。此外,基于库的方法鼓励良好的接口,并使新开发人员更容易参与其中(因为他们只需要了解全局的一小部分)。

    “世界需要更好的编译器工具,这些工具是作为库构建的。这个设计点允许以新颖的方式重用工具。然而,仅仅将工具构建为库是不够的:它们必须具有清晰的 APIs,尽可能彼此解耦,并且易于修改/扩展。这就需要清晰的分层、良好的设计、以及保持库独立于任何特定的客户端。”

    目前,Clang 分为以下库和工具:

    • libsupport —— 基本支持库,来自 LLVM。
    • libsystem —— 系统抽象库,来自 LLVM。
    • libbasic —— 诊断、源代码定位、源代码缓冲区抽象、输入源文件的文件系统缓存。
    • libast —— 提供类来表示 C AST、C 类型系统、内置函数和用于分析和操作 AST 的各种帮助程序(visitors、很棒的 printers 等)。
    • liblex —— 词法分析和预处理、标识符哈希表、编译指示处理、tokens 和宏展开。
    • libparse —— 解析。这个库调用客户端提供的粗粒度“Actions”(例如 libsema 构建 ASTs),但对 ASTs 或其他客户端特定的数据结构一无所知。
    • libsema —— 语义分析。这提供了一组解析器 actions 来为程序构建一个标准化的 AST。
    • libcodegen —— 将 AST 降低到 LLVM IR 以进行优化和代码生成。
    • librewrite —— 文本缓冲区的编辑(对于代码重写转换非常重要,比如重构)。
    • libanalysis —— 静态分析支持。
    • clang —— 一个驱动程序,各级库的客户端。

    作为这个基于库的设计的强大功能的一个例子…… 如果您想要构建一个预处理器(preprocessor),您可以使用 Basic 库和 Lexer 库。如果您想要构建一个索引器(indexer),您可以使用前两个库,并添加 Parser 库和一些用于索引的 actions。如果您想要构建一个重构、静态分析或源代码到源代码的编译器工具,那么您可以添加 AST buildingsemantic analyzer 库。

    有关各种 Clang 库的底层实现细节的更多信息,请参阅 clang 内部手册

    1.2.2 支持不同的 Clients

    Clang 的设计和构建有许多宏伟的计划,以便我们可以如何使用它。驱动因素是我们每天都在使用 C 和 C++,而且由于缺乏可用的好工具,我们不得不为此付出代价。我们相信 C 和 C++ 工具的生态系统已经被这些语言的源代码的解析和表示的困难程度显著地限制了,我们的目标是在 Clang 中解决这个问题。

    这个目标的问题是不同的 clients 有非常不同的需求。考虑代码生成(code generation),例如:一个用于代码生成解析的简单前端必须分析代码的有效性,并以某种中间形式发出代码,以便传递给优化器或后端。由于有效性分析和代码生成在很大程度上可以动态完成,所以并不要求前端为代码中的所有表达式和语句构建一个完整的 AST。TCC 和 GCC 是编译器的例子,它们要么不构建真正的 AST(在前一种情况下),要么构建简化的 AST(在后一种情况下),因为它们主要关注 codegen。

    另一方面,一些 clients(比如重构) 需要关于原始源代码的非常详细的信息,并且需要一个完整的 AST 来描述它。重构需要关于宏扩展、每个 paren 表达式 ‘(((x)))’ vs ‘x’ 的位置、完整的位置信息等等的信息。此外,重构希望查看整个程序,以确保正在进行的转换是安全的。要使它高效并正确地运行,需要大量的工程和算法工作,而这些工作对于一个简单的静态编译器来说是不必要的。

    Clang 解决方案的美妙之处在于它不限制您如何使用它。特别地,可以使用 clang preprocessor 和 parser 构建一个非常快速、轻量级的实时代码生成器(类似于TCC),它根本不构建 AST。作为一个中间步骤,clang 支持使用当前 AST 生成和语义分析代码,并在代码生成后为每个函数释放AST。最后,clang 提供了对构建和保留成熟的 ASTs 的支持,甚至支持将它们写入磁盘。

    使用清晰而简单的 APIs 设计库允许在 clients 中确定这些高级策略决策,而不是在实现这些库时强制采用“一种真正的方法”。做对一件事很难,而且我们并不总是第一次就能做对,但是当我们意识到自己犯了错误时,我们就能解决任何问题。

    1.2.3 与 IDEs 的集成

    我们相信,集成开发环境(IDE)是一个很好的方法,可以将开发难题的各个部分组合在一起,并使 clang 能够在这样的环境中很好地工作。IDE 的主要优点是,它们通常在整个项目中具有可视性,并且是长生命周期的进程,而独立编译器工具通常在项目中的每个单独文件上调用,因此范围有限。

    这种差异有很多含义,但一个重要的含义与效率和缓存有关:在一个项目中跨不同文件共享一个地址空间,意味着可以使用智能缓存和其他技术来显著减少分析/编译时间。

    IDE 和批处理编译器的另一个区别是,它们对前端的要求常常非常不同:它们依赖于高性能来提供“快速”的体验,因此非常需要“增量编译”、“模糊解析”等技术。最后,IDE 通常与代码生成有非常不同的需求,通常需要仅使用 codegen 的前端就可以丢弃的信息。Clang 是专门为捕获这些信息而设计和构建的。

    1.2.4 使用 LLVM ‘BSD’ 许可证

    我们积极地打算将 Clang(以及整个 LLVM) 用于商业项目,不仅作为独立的编译器,而且作为嵌入到专有应用程序中的库。BSD许可是实现这一点的最简单方法。我们认为,许可鼓励贡献者选择源代码并使用它,并且相信,如果这些个人和组织不想永远维护一个fork(当涉及到合并时,这是费时且昂贵的),那么他们将贡献自己的工作。此外,现在没有人靠编译器赚钱,但许多人需要它们来实现更大的目标:每个人一起工作是有意义的。

    有关 LLVM/Clang 许可证的更多信息,请参见 LLVM 许可证描述

    1.3 内部设计与实现

    1.3.1 一个真实的,高质量的编译器

    Clang 是由经验丰富的编译器开发人员设计和构建的,他们对现有的开源编译器所存在的问题越来越感到沮丧。Clang 经过精心设计和构建,为新一代 C/C++/Objective C 开发工具的开发打下了基础,我们希望它的目标是产品质量。

    成为一个高质量的产品编译器意味着很多事情:它意味着高性能、可靠性和(相对)没有bug,并且最终被广泛的人使用和依赖。虽然我们仍处于早期发展阶段,但我们坚信这将成为现实。

    1.3.2 一个简单且可编程的代码库

    我们的目标是使任何对编译器有基本了解并具有 C/C++/Objective C 语言工作知识的人都能够理解和扩展 clang 源代码库。这在很大程度上是因为我们决定让 AST 镜像尽可能地接近这些语言:您有友好的 if 语句、for 语句、圆括号表达式、结构体、union等等,所有这些都以简单而明确的方式表示。

    除了简单的设计之外,我们还通过对源代码进行良好的注释,包括在适当的地方引用语言标准,并为简单性而设计代码,从而使源代码变得可访问。除此之外,clang 还提供了一组 AST 转储程序、printers 和可视化工具,可以方便地将代码放入其中并查看代码是如何表示的。

    1.3.3 一个用于 C、Objective C、C++ 和 Objective C++ 的统一解析器

    Clang 是“C语言家族前端”,这意味着我们打算支持 C 家族中最受欢迎的成员。我们确信,这类语言的正确解析技术是手工构建的递归下降解析器。由于它是普通的 C++ 代码,递归下降使新开发人员非常容易理解代码,它很容易支持 C/C++ 所需的特殊规则和其他奇怪的技巧,并使它能够直接实现出色的诊断和错误恢复。

    我们认为,在一个统一的解析器中实现 C/C++/Objective C 比维护一个单独的 C 和 C++ 解析器更容易维护和发展最终结果。

    1.3.4 符合 C/C++/Objective C 及其变体

    当你开始着手实现一种语言时,你会发现这种语言的工作原理和大多数人理解它的工作原理之间存在着巨大的差距。这个差距是一个普通程序员和一个(可怕的?超自然?)“语言律师”,通晓语言的来由,能轻松掌握标准语言。

    在实践中,与语言保持一致意味着我们的目标是支持完整的语言,包括黑暗和尘土飞扬的角落(如 trigraphs、预处理器 arcana、C99 VLAs 等)。我们支持扩展超出标准正式允许,我们努力显式地调用这个代码中,发出警告(默认是禁用的,但可以被映射到警告或错误),允许您使用 Clang 在“严格”模式,如果你愿意的话。

    我们还打算支持这些语言的“方言”,如 C89、K&R C、C++'03、Objective-C 2 等。

    2. 为什么?

    开发新的前端是出于对编译器的需求,它允许更好的诊断、更好地与ide集成、与商业产品兼容的许可证,以及易于开发和维护的灵活编译器。所有这些都是开始一个新的前端工作的动机,可以满足这些需求。

    有关Clang与其他编译器之间的更详细比较,请参见 Clang 比较页面

    3. 当前的状态

    当以X86-32、X86-64和ARM为目标时,Clang被认为是一个高质量的 C、Objective C、C++ 和 Objective C++ 编译器(其他目标可能有一些警告,但通常很容易修复)。例如,Clang在生产中用于构建性能关键的软件,如 Chrome 或Firefox。
    如果您正在寻找源代码分析或源代码到源代码转换工具,Clang可能是一个很好的解决方案。Clang支持c++ 11、c++ 14和c++ 17,更多信息请参见C++状态页。

    4. 参与进来吧!

    首先获取代码、构建代码、并使用它。这将向你展示我们今天可以做的事情,并让你有第一手的“Clang体验”:希望它能与你产生“共鸣”。)

    一旦你这样做了,请考虑加入 Clang 社区。Clang 开发人员包括许多具有不同背景的志愿者。如果您对Clang的开发感兴趣,那么注册一个邮件列表是了解项目如何工作的好方法。

    展开全文
  • 词法分析为c++,语法分析为java
  • C语言简化编译器前端 编译原理 LR1

    热门讨论 2010-07-14 20:28:30
    C语言编译器,采用C++实现。 词法分析、语法分析、语法制导翻译全过程。 附上ISO定义的标准C语言文法。 更具体说明见"说明.doc".
  • 从开学时的懵懵懂懂,到现在对C语言编程的概念有一定的理解,与此同时,我也决定下了未来学习发展的方向:“前端” 初入前端 结构、表现、行为 一个网页页面主要由3大部分组成 结构  HTML  用于描述页面的...

    开始前...

    首先

    本人目前是一个就读于软件技术专业的大一菜鸟,初入CSDN,望借此以记录下学习历程中的点点滴滴...

    从开学时的懵懵懂懂,到现在对C语言编程的概念有一定的理解,与此同时,我也决定下了未来学习发展的方向:“前端”

    初入前端

    结构、表现、行为

    一个网页页面主要由3大部分组成

    结构

         HTML

         用于描述页面的结构

    表现

         CSS

         用于控制页面中的元素的样式

    行为

         JavaScript

         用于响应用户操作

    一个完整的网页可以分为以上三个模块,缺一不可。

    展开全文
  • // 输入vh void vh_vw_scan(void) { printf("输入元素的vh:"); scanf("%f",&vh); printf("\n"); }
  • Java 人工智能+python 前端与移动开发 PHP C语言 云计算与大数据 Android IOS等各类资源汇总
  • 需要的技能:H5前端工程师主要具备的技术能力包括Web UI(网站设计)设计能力、网页编写和网页动态效果能力和基本编程的能力,企业需要既懂网页设计,又具备编程能力的技术人员,只要具备以上三方面的能力,就能够基本...
  • c语言 c++ java .net 前端 python c# 微信小程序 软测 Linux嵌入式开发+驱动开发 PHP 面试就业指导资料 最全资源
  • 《一个简单文法的编译器前端的设计与实现》由会员分享,可在线阅读,更多相关《一个简单文法的编译器前端的设计与实现(19页珍藏版)》请在人人文库网上搜索。1、课程设计报告设计题目:一个简单文法的编译器前端的...
  • C语言

    2015-04-15 09:12:35
    这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中。 今天基础知识
  • C语言-C语言教程

    2020-08-12 22:30:17
    本文参考 嗨客网 C语言 教程 C语言教程 什么是编程语言 编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。 也可以说,计算机语言让程序员...
  • C语言试题汇总目录

    千次阅读 多人点赞 2021-05-31 20:21:02
    C试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的...
  • 我前几天发现了一个C语言前端,因此我就用那个前端魔改了,通过小小的改动语法分析和大量改动词法分析,现在编写的语言有一点那个样子了。。。但是还有很多不足。。。 下面就是现在语言的demo: int a_b_c_d_s_r_...
  • C语言编译器

    2019-04-20 08:22:24
    实现了从词法分析、语法分析、抽象语法树生成、简单语法的语法树转四元式、以及四元式到汇编代码的过程。 需要下载flex、bison、DOSBox
  • 云风最近写了一篇博客《C语言的前世今生》。作为长期使用C语言开发网络游戏服务器的程序员,云风是有理由写这样一篇文字,不过还是感觉谈的不够深入,C语言在业界使用的现状没有怎么描写,有些意犹未尽。在这里想
  • 学完C语言可以学C++了吗?C或者C++可以用来做 web前端和后端吗?
  • c语言概述

    2016-03-05 11:44:29
    预处理是C语言程序从源代码变成可执行程序的第一步,主要是C语言编译器对各种预处理命令进行处理,包括头文件的包含、宏定义的扩展、条件编译的选择等 编译之前,C语言编译器会进行词法分析、语法分析,接着会把源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,307
精华内容 13,722
关键字:

c语言前端

c语言 订阅