我正在开发一个用 C++ 编写的小型应用程序,并希望在我的平台上使用。不幸的是,我们的交叉编译工具链仅(可靠地)提供了 C 编译器。我查看了该应用程序,它相当简单,仅在少数地方使用了 C++ 特定的习惯用法,所以我想我只需手动将其转换为 C 代码即可。
我碰到了一条不知道如何处理的线。该代码使用 Termios 打开一个新端口与 TTY 流通信,并使用new
关键字初始化 Termios 结构。
termios *settings = new termios();
据我了解,new
关键字除了分配适当的内存外,还调用对象的初始化程序。在 C 中,使用 分配内存后malloc
,我可以手动调用初始化程序吗?我需要吗?
我有一种感觉,我误解了一些明显/基本的东西,或者我认为这一切都是错误的。我不太习惯 C++ 代码。
编辑:我似乎引起了一些混乱。上面的代码行创建了一个新的 termios 结构,定义在 中termios.h
,它是大多数 C 实现的标准库的一部分。