iec2c -s AddTwoNumbers.st -t c 可能也不行,因为-t可能会报错
时间: 2024-02-21 19:59:06 浏览: 20
如果您使用 iec2c 编译器的 -t 选项将 Smalltalk 代码编译为 C 代码,则确实可能会出现错误。因此,建议您在使用该选项时仔细查看 iec2c 编译器的文档,并确保您了解所需的选项和参数。
另外,还有一种选择是使用 st2c 编译器将 Smalltalk 代码编译为 C 代码。这是一个专门用于将 Smalltalk 代码转换为 C 代码的编译器,可以在多个平台上使用。使用 st2c 编译器的示例命令为:
```
st2c AddTwoNumbers.st -o AddTwoNumbers.c
```
该命令将使用 st2c 编译器将 AddTwoNumbers.st 文件编译为 C 代码,并将输出保存到 AddTwoNumbers.c 文件中。
请注意,st2c 编译器的选项和参数可能与 iec2c 编译器不同,因此建议您查看 st2c 编译器的文档以获取更多信息。
相关问题
iec2c -t PROGRAM -s AddTwoNumbers.st 中的-t 应该会报错,Unrecognized option: -t
是的,`iec2c`命令确实没有`-t`选项,所以在使用`iec2c -t PROGRAM -s AddTwoNumbers.st`命令时,会出现`Unrecognized option: -t`的错误提示。如果您想要指定生成的目标语言,可以使用`-l`选项,例如:
```
iec2c -l c PROGRAM -s AddTwoNumbers.st
```
其中,`-l c`表示将生成C语言代码。如果您需要其他目标语言,可以将`c`替换为其他支持的目标语言缩写,例如`python`、`java`、`javascript`等。
使用 iec2c -l c PROGRAM -s AddTwoNumbers.st 会出现其它错误,Error opening library file lib/ieclib.txt: No such file or directory
这个错误可能是因为`iec2c`无法找到`lib/ieclib.txt`文件。`ieclib.txt`是IEC 61131-3标准函数库的文件,`iec2c`需要它来进行代码转换。您可以按照以下步骤来解决这个问题:
1. 确认`ieclib.txt`文件在`lib`文件夹下。
2. 如果`ieclib.txt`文件不在`lib`文件夹下,您可以在`iec2c`命令中使用`-L`选项来指定`ieclib.txt`文件的路径。例如:
```
iec2c -l c -L /path/to/ieclib.txt PROGRAM -s AddTwoNumbers.st
```
其中`/path/to/ieclib.txt`是`ieclib.txt`文件的路径。
3. 如果您没有`ieclib.txt`文件,您可以在IEC 61131-3标准的官方网站(https://www.plcopen.org/pages/tc6_downloads/iec_61131-3_functions.php)上下载它,然后将它放在`lib`文件夹下。
希望这些步骤可以帮助您解决问题。