gft4c

生成函数声明列表工具
授权协议 GPL
开发语言 C/C++
所属分类 开发工具、 C/C++开发工具
软件类型 开源软件
地区 国产
投 递 者 祁英哲
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

gft4c

功能说明

gft4c是一款为C语言开发者提供的小工具。用来为C语言程序生成函数声明列表。
比如,我们有c源码文件如下:

spx_private void do_something1(int varg1,int varg2){
  //some code 
}

spx_private void do_something2(int varg1,int varg2){
  //some code 
}

spx_private void do_something3(int varg1,int varg2){
  //some code 
}

spx_private void do_something4(int varg1,int varg2){
  //some code 
}

spx_public void do_something5(int varg1,int varg2){
  //some code 
}

spx_public void do_something6(int varg1,int varg2){
  //some code 
}

spx_public void do_something7(int varg1,int varg2){
  //some code 
}

然后根据c语言函数的特性,必须先声明再使用。故一般我们都会在c文件的开头,最后一行#include的下面声明函数,如上面的代码,声明函数列表如下:

spx_private void do_something1(int varg1,int varg2);

spx_private void do_something2(int varg1,int varg2);

spx_private void do_something3(int varg1,int varg2);

spx_private void do_something4(int varg1,int varg2);

而在h文件中,声明公共的函数,如下:

spx_public void do_something5(int varg1,int varg2);

spx_public void do_something6(int varg1,int varg2);

spx_public void do_something7(int varg1,int varg2);

在实际开发中,一般函数声明需要我们一个一个的重新写或者是从写好的函数签名copy过去,再或者是到#include行下面写一行函数声明,再到文件下方写函数定义。 不管使用哪种方法,都会显得哼繁琐。然后gft4c即为此而生。

gtf4c提供了开发者安心写函数定义,然后使用gft4c命令GenFuncTitle即可在c文件的最后一个#include行下面生成函数声明。

使用方法

  1. 确保vim支持python,若不确定,请查看相关vim安装时的扩展;

  2. 使用任一一种vim插件包管理器,将此插件安装到本地;如使用vundle,在vimrc中请加入'Plugin 'xvhfeng/gft4c'';

  3. 在vim中运行明白BundleInstall,将自动安装此扩展

  4. 安装完毕,重启vim;

  5. 打开任一c文件,执行命令:GenFuncTitle,即可看到在#include行下面已经生成的函数声明列表;

  6. 注意:私有函数列表和公有函数列表都会在c文件中生成,因为.h文件不一定和c文件在同一目录下,所以请开发者执行将公有函数列表copy到h文件中;

  7. 生成函数列表的时候不会区分已经存在的函数声明,故需要注意;

配置

gft4c的配置只有2个,分别是g:spkx_private和g:spkx_public。这2个配置配置项如下:

  1. g:spkx_private:配置函数为私有的起始标志位,默认为static或者是spx_private,不能为空;

  2. g:spkx_public:配合函数为公有的起始标志位,默认为spx_public,不能为空; 说明: spx_private和spx_public都是自定义的宏,定义分别如下:

#define spx_private static
#define spx_public
     相关资料
    • 5.1. 函数声明 函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。 func name(parameter-list) (result-list) { body } 形式参数列表描述了函数的参数名以及参数类型。这些参数作为局部变量,其值由参数调用者提供。返回值列表描述了函数返回值的变量名以及类型。如果函数返回一个无名变量或者没有返回值,返回值列表的括号是可以省略的。如

    • 函数是JavaScript中的一等对象,这意味着可以把函数像其它值一样传递。 一个常见的用法是把匿名函数作为回调函数传递到异步函数中。 函数声明 function foo() {} 上面的方法会在执行前被 解析(hoisted),因此它存在于当前上下文的任意一个地方, 即使在函数定义体的上面被调用也是对的。 foo(); // 正常运行,因为foo在代码运行前已经被创建 function foo

    • 2.2. 函数声明 2.2.1. Python 和其他编程语言数据类型的比较 与其它大多数语言一样 Python 有函数, 但是它没有像 C++ 一样的独立的头文件;或者像 Pascal 一样的分离的 interface/implementation 段。 一旦需要函数时, 像下面这样声明即可: def buildConnectionString(params): 首先, 函数声明以关键字 de

    • 每个函数前面应该放置一段块注释,概要描述该函数做什么以及(如果不是很清晰)如何使用该函数。重要的设计决策讨论以及副作用说明也适合放在注释 中。避免提供那些代码本身可以清晰提供的信息。 函数的返回类型应该单独占据一行,(可选的)缩进一个级别。不用使用默认返回类型int;如果函数没有返回值,那么将返回类型声明为void。如 果返回值需要大段详细的说明,可以在函数之前的注释中描述;否则可以在同一行中对返

    • 主要内容:函数参考手册C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明。 所谓 声明(Declaration) ,就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。 函数声明的格式非常简单,相当于去掉函数定义中的函数体,并在最后加上分号 ,如下所示: dataType  func

    • 问题内容: 我刚刚开始学习语言,但仍在尝试消化一些东西。 我写了一个函数为: 我真的很困惑或由于缺乏知识而无法理解的用例 。 问题答案: 我在“ 您可以在Go中一次声明多个变量吗? ”中提到过:解释了。 但是您需要具有与函数的每个参数相关联的类型,而上一个参数列表中并非如此。 顺序始终是,而不是遵循变量声明规范: 你会总能找到一个类型 后 一个:或

    • 问题内容: 似乎有两种不同的方法可以在Golang中声明函数,如下所示: 以上作品。但是,以下方法不起作用: 它会抱怨: 那么和之间有什么区别? 我发现它的原因可能也是因为我也编写了许多Javascript。在Go中,似乎很少有人看到像这样的函数。在这两个中,我们可以说哪个比另一个更正确吗? 问题答案: 当你做 您正在为该变量分配匿名函数。您也可以这样写: 创建函数的另一种方法是创建一个命名函数: