C函数

高质量C++/C编程指南-第8章-C++函数的高级特性(1)

05-06
对比于C语言的函数,C++增加了重载(overloaded).内联(inline).const和virtual四种新机制.其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数. 重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用.本章将探究重载和内联的优点与局限性,说明什么情况下应该采用.不该采用以及要警惕错用. 8.1 函数重载的概念8.1.1 重载的起源 自然语言中,一个词可以有许多不同的含义,即该词被重载了.人们可

Lua教程(二十一):编写C函数的技巧_Lua

04-30
1. 数组操作:     在Lua中,"数组"只是table的一个别名,是指以一种特殊的方法来使用table.出于性能原因,Lua的C API为数组操作提供了专门的函数,如:   复制代码 代码如下:     void lua_rawgeti(lua_State* L, int index, int key);     void lua_rawseti(lua_State* L, int index, int key);       以上两个函数分别用于读取和设置数组中的元素值.其中i

Lua教程(二十):Lua调用C函数_Lua

04-30
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性.对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数.对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L).简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作为其唯一的参数,实现者可以通过该指针进一步获取Lua代码中实际传入的参数.返回值是整型,表示该C函数

c/c++支持可变参数的函数

02-01
一.为什么要使用可变参数的函数? 一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数.但在某些情况下希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数.这也是c功能强大的一个方面,其它某些语言,比如fortran就没有这个功能. 典型的可变参数函数的例子有大家熟悉的printf().scanf()等. 二.c/c++如何实现可变参数的函数? 为了支持可变参数函数,C语言引入新的调用协议, 即C语言调用约定 __cdecl . 采用C/

GNU gengetopt 2.22.5发布 C函数程序

12-19
GNU gengetopt是一个简单描述的参数,可以生成一个C++函数,使用GNU getopt_long(3)函数来解析和验证命令行选项.如果你懒得编写所有必须的调用getopt_long(3),或需要使用许多选项时,此程序对你来说是非常有用的.生成的代码也可以用于Autoconf或automake. GNU gengetopt 2.22.5版本打包预处理的字符串已正确处理.Enum变量用生成的空值进行初始化(C++的解析器编译),移除了在生成解析器的警告 软件信息:http://www.gn