Dan*_*Dan 1 c conventions c-preprocessor
我正在查看一些PETSc示例代码,我遇到了这个片段:
#undef __FUNCT__
#define __FUNCT__ "main"
Run Code Online (Sandbox Code Playgroud)
就在main开始之前。
__FUNCT__在每个函数(或只是 main?)之前设置或类似的东西是标准的 C 编程约定吗?
如果是这样,为什么要这样做?
小智 5
来自PETSc 源代码中的注释(${PETSC_DIR}/src/snes/examples/tutorials/ex3.c第 33-40 行):
请注意,在下面的每个例程之前,我们将宏定义为
__FUNCT__包含例程名称的字符串。如果已定义,此宏将用于 PETSc 错误处理程序以提供例程名称的完整追溯。所有 PETSc 库例程都使用这个宏,用户也可以选择在他们的应用程序代码中使用它。请注意,无论是否__FUNCT__在应用程序代码中定义,用户都可以获得 PETSc 错误的追溯;此宏仅提供应用程序例程名称的添加回溯详细信息。
| 归档时间: |
|
| 查看次数: |
613 次 |
| 最近记录: |