这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 cproto,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
cproto - 生成 C 函数原型并转换函数定义
概要
协议 [ 选项 ...] [ 文件 ...]
商品描述
原型 为在指定 C 源文件中定义的函数生成函数原型
到标准输出。 函数定义可能是旧样式或 ANSI C 样式。
(可选) 协议 还输出文件中定义的变量的声明。 如果不
文件 给出论证, 协议 从标准输入读取其输入。
通过提供命令行选项, 协议 还将转换中的函数定义
指定文件从旧样式到 ANSI C 样式。 原始源文件沿
与指定的文件
#include "文件"
出现在源代码中的指令将被转换后的代码覆盖。 如果
命令行上没有给出文件名,然后程序从中读取源代码
标准输入并将转换后的源输出到标准输出。
如果任何注释出现在函数定义的参数声明中,例如
这个例子,
主要(argc,argv)
国际argc; /* 参数数量 */
字符 *argv[]; /* 参数 */
{
}
那么转换后的函数定义将具有以下形式
INT
主要的 (
int argc, /* 参数个数 */
char *argv[] /* 参数 */
)
{
}
否则,转换后的函数定义将如下所示
INT
主要(int argc,char *argv[])
{
}
原型 可以选择将函数定义从 ANSI 样式转换为旧样式。
在这种模式下,程序还会转换出现的函数声明符和原型
外部函数体。 这不是完整的 ANSI C 到旧 C 的转换。 该程序
不会改变函数体内的任何东西。
原型 可以选择以 lint-library 格式生成源。 这在
环境 皮棉 实用程序用于补充您的原型检查
程序。
配置
-e 输出关键字 外部 在每个生成的原型或声明之前
具有全球范围。
-f n 设置生成的函数原型的样式,其中 n 是一个从 0 到 3 的数字。
例如,考虑函数定义
主要(argc,argv)
国际argc;
字符 *argv[];
{
}
如果值为 0,则不生成原型。 设置为 1 时,输出为:
int main(/*int argc, char *argv[]*/);
对于值为 2,输出具有以下形式:
int main(int /*argc*/, char */*argv*/[]);
默认值为 3。它生成完整的函数原型:
int main(int argc, char *argv[]);
-l 为 lint 库生成文本(覆盖“-f" 选项。输出包括
评论
/* 林特库 */
特别评论 LINT_EXTERN 和 LINT_PREPRO (a la "VARARGS") 分别开启
“-x”选项并将注释文本复制到输出(用于预处理 皮棉).
使用评论
/* LINT_EXTERN2 */
包括在第一级包含文件中定义的 extern。 使用评论
/* LINT_SHADOWED */
引起 协议 在每个 lint 库声明之前放置“#undef”指令
(即,为了避免与碰巧必须与
函数,从而导致语法错误)。
请注意,在 VAX/VMS 下不支持这些特殊注释,因为没有
等效于带有 VAX-C 的 cpp 的“-C”选项。
-c -f1 和 -f2 选项生成的原型中的参数注释是
默认省略。 使用此选项可启用这些注释的输出。
-m 在每个生成的原型的参数列表周围放置一个宏。 例如:
int main P_((int argc, char *argv[]));
-M 姓名
设置选项 -m 时用于包围原型参数列表的宏的名称
被选中。 默认值为“P_”。
-d 省略 -m 选项使用的原型宏的定义。
-o 文件
指定输出文件的名称(默认:标准输出)。
-O 文件
指定错误文件的名称(默认:标准错误)。
-p 禁用旧式函数定义中形式参数的提升。 经过
默认,类型参数 坦克 or 短 旧式函数定义是
晋升为打字员 INT 在函数原型或转换后的 ANSI C 函数中
定义。 类型参数 浮动 晋升为 翻番 以及。
-q 当程序无法读取中指定的文件时,不输出任何错误信息
an 的#include 指令。
-s 默认情况下, 协议 只生成函数和变量的声明
全球范围。 该选项将输出 静止 声明也是如此。
-S 仅输出静态声明。
-i 默认情况下, 协议 只生成函数和变量的声明
全球范围。 该选项将输出 一致 声明也是如此。
-T 从每个文件复制类型定义。 (复制包含文件中的定义,
与“-l”选项不同)。
-v 还输出源中定义的变量的声明。
-x 此选项导致声明为“extern”的过程和变量
包含在输出中。
-X 水平
此选项限制了从中提取声明的包含文件级别
检查预处理器输出。
-a 将函数定义从旧样式转换为 ANSI C 样式。
-t 将函数定义从 ANSI C 风格转换为传统风格。
-b 重写函数定义头以包括旧样式和新样式
由条件编译指令分隔的声明。 例如,
程序可以生成这个函数定义:
#ifdef ANSI_FUNC
INT
主要(int argc,char *argv[])
的#else
INT
主要(argc,argv)
国际argc;
字符 *argv[]
#ENDIF
{
}
-B 指示
设置条件编译指令在函数开头输出
-b 选项生成的定义。 默认是
#ifdef ANSI_FUNC
-P 模板
-F 模板
-C 模板
为生成的原型、函数定义和函数设置输出格式
分别带有参数注释的定义。 格式由 a 指定
表单中的模板
" int f ( a, b )"
但是您可以用任意数量的空格替换此字符串中的每个空格
人物。 例如,选项
-F"int f(\n\ta,\n\tb\n\t)"
将产生
国际主要(
国际argc,
字符 *argv[]
)
-D 名称[=值]
此选项传递给预处理器,用于定义符号
与条件一起使用,例如 #ifdef。
-U 姓名
此选项传递给预处理器,用于删除任何
此符号的定义。
-I 目录
这个选项传递给预处理器,用于指定一个
搜索引用的文件的目录 #包括。
-E CPP 生成时通过指定的 C 预处理器命令管道输入文件
原型。 默认情况下,程序使用 /lib/cpp。
-E 0 不要运行 C 预处理器。
-V 打印版本信息。
环境
扫描环境变量 CPROTO 中的选项列表,其格式与
命令行选项。 命令行上给出的选项会覆盖任何相应的
环境选项。
使用 onworks.net 服务在线使用 cproto