【发布时间】:2010-08-02 02:24:01
【问题描述】:
我需要一个实用程序来检查标头保护中的冲突。如果该实用程序可以检查符号和文件名是否一致(使用正则表达式或其他东西),那就太好了。
问候, rn141。
编辑:
示例 1. 损坏的头球后卫。不能防止多重包含。
// my_file1.h
#ifndef my_project_my_file1_h__
#define my_project_my_fil1_h__ // should be my_project_my_file1_h__
// code goes here
#endif
示例 2. 与上述 header 保护冲突。
// my_file2.h
#ifndef my_project_my_file1_h__ // should be my_project_my_file2_h__
#define my_project_my_file1_h__ // should be my_project_my_file2_h__
// code goes here
#endif
【问题讨论】:
-
您的标头保护名称是非法的 - 您不能创建包含双下划线的名称 - 它们是为 C++ 实现保留的。
-
我的系统有一个用于处理此类错误的实用程序。它被称为 vi。当我真正的意思是
j++时,我在输入i++时遇到了类似的问题;你能推荐一个可以帮我检查的实用程序吗? -
奇怪的是,这些标题保护是由著名的 Visual Studio 插件生成的。手头的项目不使用双倍分数。