相关分类: Java技术 C/C++ VB delphi
  • 如何在C语言中巧用正则表达式

    假如用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于他能够极大地简化处理字符串时的复杂度,因此现在已在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利,作为C语言程式员,用户同...

    2008-02-23 05:41:26

  • C 的底层机制

    c 为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了您在完成任务之前的正确行为,假如您的行为不正确,那么您休想构造出任何可执行程式来。 但假如真正到了产生可执行代码阶段,无论是c,c ,还是pascal,大家都相同,您认为c和c 编译...

    2008-02-23 05:41:26

  • gcc对C语言的扩展:标签变量(Labels as Values)

    您能够使用一元操作符得到在当前函数(或包含函数)中定义的标签的地址.得到的值的类型是void*。这个值是个常量,能够在任何使用这个类型的常量的地方使用。例如: void *ptr; ... ptr = foo; 这个变量可用于跳转到某个位置--例如使用goto语句 go *exp. 例如: goto...

    2008-02-23 05:41:25

  • gcc对C语言的扩展:局部标签声明(Locally Declared

    每个语句内嵌表达式都是个能够声明局部跳转标签的域。一个局部标签只是个标识符:您能够使用通常的goto语句跳到他--但是只能在他所属的域内这么做。 一个局部标签的申明如下: __label__ label; 或: __label__ label1, label2, ...; 局部标签的申明必须在语句内嵌表...

    2008-02-23 05:41:25

  • gcc对C语言的扩展:语句内嵌表达式(statement-embed

    在GNU C 中,用括号将复合语句括起来也形成了表达式。他允许您在一个表达式内使用循环,跳转和局部变量。 一个复合语句是用大括号{}括起来的一组语句。在包含语句的表达式这种结构中,再用括号( )将大括号括起来,例如: ({ int y = foo (); int z; if (y > 0) z = y; e...

    2008-02-23 05:41:25

  • gcc对C语言的扩展:内嵌函数(Nested Function)

    所谓内嵌函数就是定义于另一个函数内部的函数.(GNU C 不支持内嵌函数) 内嵌函数名在他被定义的块中是局部有效的。例如这里我们定义了一个函数squre并调用了他两次: foo ( double a, double b ) { double square (double z) { return z * z; } return square (a) squar...

    2008-02-23 05:41:25

  • C和C 里面的lvalue 和 rvalue的释义

    在看GCC的文档的时候,看到一个词lvalue,查了金山词霸其释义为 lvalue [计] 左值 。因为的确在介绍编译原理的课程中听过这个词,大致知道其意思就没有多想。但是看完GCC文档的这个篇幅,都无法明白全篇在说什么。问题还是出在了lvalue这个词的“左值”是什么意思的理...

    2008-02-23 05:41:23

  • gcc对C语言的扩展:构造函数调用(Constructing Func

    在不知道一个函数所接收到的参数的个数或类型的情况下,我们能够用GCC有一套内建函数记录下参数并将他们用于调用其他的函数。 您也能够在不知道一个函数的返回类型的情况下获得函数调用的返回结果,然后再返回这个结果(只要调用您所在函数的调用者能接收这个返回值的...

    2008-02-23 05:41:23

  • 利用纯C 实现COM

    描述: 接口实现类图 图片: 描述: 接口创建类图 图片: 接口实现 AddRef CObjRoot 中定义 _AddRef 为纯虚函数,定义 m_cRef 为引用记数,定义静态指针变量 p_ObjCount ; CComBase 中通过线程模型类实现 _AddRef 函数,每次 m_cRef 加 1 ,假如 p_ObjCount 不为空,则...

    2008-02-23 05:41:23

  • C里面何时出了对结构体赋值的支持的?

    记得当年在学老谭的那本C语言的书的时候,书中明确说两个结构体变量间赋值需通过对结构体内各个变量的复制来进行,而不能直接用=号来赋值。今天我还笑话了一把实验室同学的无知,结果在gcc中写了一段代码,真的能够对结构体变量直接复制,代码如下: //test.c struct cc...

    2008-02-23 05:41:22

2