最近做linux下开发,发现一些莫名其妙的语法,记录之。
一.函数定义
看到很多开源代码,函数定义比较特殊,见下面这种形式:
int add(a,b) int a; int b; { return a+b; }
参数类型不放在括号内,反而单独提出来定义,第一次见到这样的写法,刚开始我模仿这种形式代码,折腾了半天也没编译过去。后来发现这种语法是gcc特有的(windows下无法编译),只能用gcc命令编译 ,无法在g++下编译。
二. 变量初始化
C中,变量初始化写法直接通过=赋值即可,int a = 1;
C++中,由于引入对象类型,对象初始化,直接在构造函数内初始化变量,如 Square square(20,20)。
但是对于基本类型,如int a(5) 这种语法竟然也是正确的,该代码无法在gcc命令下编译
三. 奇怪的switch
swith(code) { case '0' ... '9': break; }
上面的case语句匹配多个连续条件,可惜只能在g++下编译
四. __attribute__ 语法
gcc下最麻烦就是这个了,__attribute__支持的语法规则非常多
相关推荐
使用AVR GCC,你可以用标准的C或C++语法编写代码,但需要注意AVR的特殊限制,如内存模型、中断服务程序(ISRs)以及I/O端口操作。 ### 4. 使用`avr-gcc`编译 AVR GCC的主命令是`avr-gcc`,用于编译和链接源代码。...
- **移植总结**:移植GCC是一个复杂但有趣的任务,需要对目标平台有深入的理解。 通过上述知识点的详细介绍,我们可以了解到GCC不仅仅是一个简单的编译器,它还包含了丰富的优化技术和复杂的内部结构。对于想要深入...
总的来说,创建一个能够处理自定义语法规则的C语言编译器是一项复杂而有趣的任务,它涉及到计算机科学的基础知识,如编译原理、形式语言理论和数据结构。通过这种方式,开发者可以创建出更加灵活和适应特定需求的...
在Linux平台上,MIX汇编器的设计与实现是一项复杂而有趣的任务,涉及到多个关键知识点。以下是对这些内容的详细说明: ### 第1章:Linux下编译的一般过程 Linux平台上的程序编译通常涉及以下几个步骤: 1. **...
总的来说,编译原理是一门涉及计算机科学基础的深奥但有趣的课程,理解并掌握它将有助于你更好地理解编程语言的本质,以及程序是如何在计算机中运行的。通过深入学习和反复练习,相信你能够在考试中取得优异的成绩。
- 编译器:将高级语言源代码一次性转换为目标机器码,生成可执行文件,如GCC。 - 解释器:逐行读取源代码并直接执行,不产生可执行文件,如Python解释器。 2. **C语言解析** - 词法分析:将源代码分解成词法单元...
Ö Ö是一种具有奇怪语法的编程语言。 <Akuli> i like how 'ding = (dang dong)' translates to 'ding = dang(dong)', just move the ( to the right side of the function name<Zaab1t> haha<Zaab1t> syntax is odd...
在Linux环境下进行C语言编程是...总之,Linux下的C语言编程既有趣又有挑战性,它不仅能让你深入理解操作系统的工作原理,也为其他高级编程语言的学习打下坚实基础。通过不断练习和探索,你将在C语言的世界里游刃有余。
虽然这段代码可以在某些编译器(如Microsoft Visual C++)中编译通过,但在其他编译器(如GCC)中则会引发编译错误。这是因为根据C++的标准规定,`main`函数必须返回一个整数类型的值。具体来说,根据C++标准(C++03...
标题 "ex.zip_Enjoy" 暗示了这是一个包含 C 语言代码的压缩文件,而描述 "Code in C, enjoy it." 更是直接指出我们将会探索一个有趣的 C 语言编程项目。标签 "enjoy" 提示我们将从这个代码中获得乐趣。 在 C 语言...
在Linux平台上学习C语言是一项非常有...总之,Linux平台上学C语言是一个既有趣又有挑战的过程,它涵盖了从基础语法到系统编程的广泛领域。通过不断实践和探索,你将能够掌握这个强大的工具,并在Linux世界中游刃有余。
7. **编译与链接**:在实际运行魔王语言之前,需要使用C编译器(如gcc)将源代码编译成可执行文件。这涉及到预处理、编译、汇编和链接等多个步骤。 8. **错误处理**:为了确保魔王语言的正确执行,你需要编写代码来...
Linux环境下的C编程是计算机科学领域的一个重要主题,它结合了强大的操作系统Linux和经典编程语言C,为开发者提供了高效、灵活的...这个课件将为你提供一个良好的起点,帮助你在这个广阔而有趣的领域中开启探索之旅。
9. **编译与调试**:了解如何使用编译器(如GCC)编译代码,并使用调试工具(如GDB)查找和修复程序中的错误是开发者的基本技能。 10. **优化**:为了提高游戏性能,开发者可能需要进行代码优化,如减少不必要的...
10. **编译与链接**:编译时,使用`gcc`命令将所有源文件一起编译,如`gcc main.c snake.c -o game`。这将生成一个可执行文件,然后在终端中运行。 通过编写和改进这样的游戏,你可以深入理解C语言的特性,以及如何...
C语言是一种强大的、通用的编程语言,它以其简洁的语法和高效的性能在编程领域中占有重要的地位。在Linux环境下,利用GCC(GNU Compiler Collection)作为编译器,我们可以开发出各种类型的应用程序,包括游戏。本篇...
在学习过程中,`cstudy15.exe`可能是一个C语言的学习软件或编译器,例如Turbo C或GCC的某个版本,它为用户提供了一个实践代码和运行程序的平台。这样的工具是学习C语言必不可少的,因为理论知识需要通过实践来检验和...
这本书的特点在于其结合了理论与实践,通过丰富的实例和习题,让学习过程更加生动有趣。源代码的提供使得读者可以直接运行和调试程序,加深对编程概念的理解。同时,附带的习题解答对于自学者来说是一大福音,能够...