C语言中有元编程吗?

5lhxktic  于 2022-12-22  发布在  其他
关注(0)|答案(1)|浏览(163)

我知道在Python和Java这样的语言中有一些元编程的可能性。我们可以反思一个对象的函数、类、类型,并在运行时修改它们。
在C语言中可以做类似的事情吗?

ppcbkaq5

ppcbkaq51#

简短回答:"没有"。

  • Java和C#(以及其他)支持reflection:在运行时从类内部检查和操作类的能力
  • JavaScript、PHP、Lua和Perl(以及其他语言)被视为"Dynamic programming languages":它们可以在程序执行时被即时修改。

像C、C++、FORTRAN等"静态语言"没有这样的能力。
在某种程度上,你可以"模拟"类似的功能,但是语言本身并不直接支持这种功能,而且任何这样的"模拟"几乎都不可避免地会有"局限性"。

相关问题