`
tcspecial
  • 浏览: 913550 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

gcc 有趣语法

阅读更多

    最近做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__支持的语法规则非常多

 

 

分享到:
评论

相关推荐

    avrgcc实用说明

    使用AVR GCC,你可以用标准的C或C++语法编写代码,但需要注意AVR的特殊限制,如内存模型、中断服务程序(ISRs)以及I/O端口操作。 ### 4. 使用`avr-gcc`编译 AVR GCC的主命令是`avr-gcc`,用于编译和链接源代码。...

    GCC使用手册,入门级的GCC使用介绍

    - **移植总结**:移植GCC是一个复杂但有趣的任务,需要对目标平台有深入的理解。 通过上述知识点的详细介绍,我们可以了解到GCC不仅仅是一个简单的编译器,它还包含了丰富的优化技术和复杂的内部结构。对于想要深入...

    C语言语法编译器 实现自定义语法规则

    总的来说,创建一个能够处理自定义语法规则的C语言编译器是一项复杂而有趣的任务,它涉及到计算机科学的基础知识,如编译原理、形式语言理论和数据结构。通过这种方式,开发者可以创建出更加灵活和适应特定需求的...

    Linux平台下的MIX汇编器设计与实现

    在Linux平台上,MIX汇编器的设计与实现是一项复杂而有趣的任务,涉及到多个关键知识点。以下是对这些内容的详细说明: ### 第1章:Linux下编译的一般过程 Linux平台上的程序编译通常涉及以下几个步骤: 1. **...

    编译原理相关试题及复习资料

    总的来说,编译原理是一门涉及计算机科学基础的深奥但有趣的课程,理解并掌握它将有助于你更好地理解编程语言的本质,以及程序是如何在计算机中运行的。通过深入学习和反复练习,相信你能够在考试中取得优异的成绩。

    A very small C interpreter.zip

    - 编译器:将高级语言源代码一次性转换为目标机器码,生成可执行文件,如GCC。 - 解释器:逐行读取源代码并直接执行,不产生可执行文件,如Python解释器。 2. **C语言解析** - 词法分析:将源代码分解成词法单元...

    odotdot:有趣的编程语言

    Ö Ö是一种具有奇怪语法的编程语言。 <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语言编程是...总之,Linux下的C语言编程既有趣又有挑战性,它不仅能让你深入理解操作系统的工作原理,也为其他高级编程语言的学习打下坚实基础。通过不断练习和探索,你将在C语言的世界里游刃有余。

    编写高质量代码:改善C 程序的150个建议

    虽然这段代码可以在某些编译器(如Microsoft Visual C++)中编译通过,但在其他编译器(如GCC)中则会引发编译错误。这是因为根据C++的标准规定,`main`函数必须返回一个整数类型的值。具体来说,根据C++标准(C++03...

    ex.zip_Enjoy

    标题 "ex.zip_Enjoy" 暗示了这是一个包含 C 语言代码的压缩文件,而描述 "Code in C, enjoy it." 更是直接指出我们将会探索一个有趣的 C 语言编程项目。标签 "enjoy" 提示我们将从这个代码中获得乐趣。 在 C 语言...

    Linux平台上学C语言.rar

    在Linux平台上学习C语言是一项非常有...总之,Linux平台上学C语言是一个既有趣又有挑战的过程,它涵盖了从基础语法到系统编程的广泛领域。通过不断实践和探索,你将能够掌握这个强大的工具,并在Linux世界中游刃有余。

    C语言代码——魔王语言

    7. **编译与链接**:在实际运行魔王语言之前,需要使用C编译器(如gcc)将源代码编译成可执行文件。这涉及到预处理、编译、汇编和链接等多个步骤。 8. **错误处理**:为了确保魔王语言的正确执行,你需要编写代码来...

    linux C编程 课件

    Linux环境下的C编程是计算机科学领域的一个重要主题,它结合了强大的操作系统Linux和经典编程语言C,为开发者提供了高效、灵活的...这个课件将为你提供一个良好的起点,帮助你在这个广阔而有趣的领域中开启探索之旅。

    c语言地空对战游戏.zip

    9. **编译与调试**:了解如何使用编译器(如GCC)编译代码,并使用调试工具(如GDB)查找和修复程序中的错误是开发者的基本技能。 10. **优化**:为了提高游戏性能,开发者可能需要进行代码优化,如减少不必要的...

    linuxC下的贪吃蛇游戏

    10. **编译与链接**:编译时,使用`gcc`命令将所有源文件一起编译,如`gcc main.c snake.c -o game`。这将生成一个可执行文件,然后在终端中运行。 通过编写和改进这样的游戏,你可以深入理解C语言的特性,以及如何...

    c语言编程的五子棋.rar

    C语言是一种强大的、通用的编程语言,它以其简洁的语法和高效的性能在编程领域中占有重要的地位。在Linux环境下,利用GCC(GNU Compiler Collection)作为编译器,我们可以开发出各种类型的应用程序,包括游戏。本篇...

    C语言实例教程

    在学习过程中,`cstudy15.exe`可能是一个C语言的学习软件或编译器,例如Turbo C或GCC的某个版本,它为用户提供了一个实践代码和运行程序的平台。这样的工具是学习C语言必不可少的,因为理论知识需要通过实践来检验和...

    易学c++ 最好的c++入门书籍

    这本书的特点在于其结合了理论与实践,通过丰富的实例和习题,让学习过程更加生动有趣。源代码的提供使得读者可以直接运行和调试程序,加深对编程概念的理解。同时,附带的习题解答对于自学者来说是一大福音,能够...

Global site tag (gtag.js) - Google Analytics