当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用 C 语言编写的,有一些语言比如 Clojure,Jython 等是基于 JVM 或者说是用 Java 实现的,IronPython 等是基于 .NET 实现的,但是 Java 和 C# 等本身也要依靠 C/C++ 来实现,等于是间接调用了 C.所以衡量某种高级语言的可移植性其实就是在讨论 ANSI/ISO C 的移植性. C 语言是很低级的语言,很多方面都近似于汇编语言,在<Intel 32 位汇编语言程序设计>一书中,甚至介绍了手工…
首先向C语言之父Dennis MacAlistair Ritchie致敬! 当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用C语言编写的,有一些语言比如Clojure,Jython等是基于JVM或者说是用Java实现的,IronPython等是基于.NET实现的,但是Java和C#等本身也要依靠C/C++来实现,等于是间接调用了调用了C.所以衡量某种高级语言的可移植性其实就是在讨论ANSI/ISO C的移植性. C语言是很低级的语言,很多方面都近似于汇编语言,在<Intel32位汇编语…
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代码. 其中 #include <Stdio.h>是预处理文件.通常程序在编译之前需要处理一些内容,这些内容称为“预编译处理命令”,它们通常以#号开头,并不用分号结尾,所以不是C语言的程序语句. 在这里的预编译处理命令(#include <Stdio.h>)称为文件包含命令,其作用是编译…
前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机.手机等硬件设备)进行交互.由于我们的最终目的是学习iOS开发,学习iOS开发的话必须在Mac系统下,因此我就在Mac系统环境下开发C语言程序,而不是在Windows环境下. 接下来,就在Mac系统环境下编写第一个C语言程序,最后把程序运行起来,跟计算机做一个小小的互动 一.编写第一个C语言程序-…
一.开发工具的选择(1)可以用来写代码的工具:记事本.UltraEdit.Vim.Xcode等(2)选择Xcode的原因:苹果官方提供的开发利器.简化开发过程.有高亮显示功能 (3)使用Xcode新建一个C程序的源代码文件(拓展名为.c或者.C)…
一.开发工具的选择 1. 可以用来写代码的工具:记事本.ULtraEdit.Vim.Xcode等. 2. 选择XCode的原因:苹果公司官方提供的开发利器.简化开发的工程.有高亮显示功能. 3. 使用XCode新建一个C程序的源代码文件(扩展名为.c或者.C) # 开发XCode # 新建文件 # 选择文件类型 .c 二.代码编写 1.程序结构 * C程序的结构:由函数组成 # 任何一个C语言程序都市有一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.…
不少新同学表示对计算机类专业有些担忧,那么可以趁军训期间提前玩玩. 学校一般使用VS2008进行编程,VS2008功能强大,内容丰富,体积也比较大.如果只关注C语言编程的话,有一个非常轻便的软件Dev C++ . 下载链接 https://sourceforge.net/projects/orwelldevcpp/    或者我的百度网盘分享: 链接:https://pan.baidu.com/s/18Q1ENNOb2x25l6PM2p6Vkg提取码:7w31 复制这段内容后打开百度网盘手机Ap…
C语言简介 C 语言是一种通用的.面向过程式的计算机程序设计语言,即编程语言. 为移植和开发 UNIX 操作系统,丹尼斯·里奇于1972年在贝尔电话实验室设计开发了 C 语言的第一个版本. C 语言同时也是一种广泛使用的计算机语言,在算法设计.操作系统开发,游戏开发等领域,C语言是常青树.C语言也是高级编程语言中最接近底层的语言.它与 Java 编程语言一样普及,二者在产业界都得到广泛使用. 目前较新的 C 语言标准为 C18 ,在它之前的 C 语言标准包括 C17.C11...C99 等. 前…
00.一个JVM语言的诞生过程 文章集合以及项目展望 源码github地址 这一篇将是架构总览, 将自顶向下地叙述自制编译器的要素; 文章目录 01.从0实现一个JVM语言之架构总览 架构总览目前完成度较低, 因为可能要等我写完大部分文章后才会回头梳理一下架构. 02.从0实现一个JVM语言之词法分析器-Lexer 03.从0实现一个JVM语言系列之语法分析器-Parser…
00.一个JVM语言的诞生 由于方才才获悉博客园文章默认不放在首页的, 原创文章主要通过随笔显示, 所以将文章迁移到随笔; 这篇帖子将后续更新, 欢迎关注! 这段时间要忙着春招实习, 所以项目更新会慢一点, 语言组织也会比较随意, 毕竟时间有限, 没办法太过雕琢琢磨了. 源码github仓库, 如果这个系列对您有帮助, 请您给我一个小小的star! 本节提纲 写在前面 文章目录 先修技能/工具 Cva文法-grammar推导式 说明 Cva程序样例 写在前面 从屏幕前的你搜索到这篇博文开始, 我…