2016-08-22 37 views

回答

4

如何做一个简单的例子:

#include "stdafx.h" 
#include <iostream> 
#include <string> 

#if !defined PROJECT_NAME 
#define PROJECT_NAME "" 
#endif 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    std::string str(PROJECT_NAME); 
    std::cout << str; 
    return 0; 
} 

在项目属性的预处理定义选项添加以下到已经存在定义的末尾:

PROJECT_NAME = “$(项目名)”;

1

在项目设置只需添加一个编译器定义。项目名称显然是项目范围的,所以它应该很容易。

您还可以使用$(ProjectName)构建系统的宏(可用宏可以编辑使用该值的下拉<Edit..>预处理器定义时可以看到),并且将定义在您在所有包含属性表你的项目。

+0

你可以在这里找到宏:https://msdn.microsoft.com/en-us/library/c02as0cs.aspx – neohope

+0

@neohope,是的。但是,在Visual Studio中查找它们有两个好处:您可以看到值,并且还可以看到由系统的其他组件(如SDK和MSBuild)定义的值。 –

0

在C++中,argv [0]是可执行文件的名称。如果您使用了默认的项目设置,通常可执行的名称将被设置为项目名称。

int main(int argc, char **argv) 
{ 
    std::cout<<"Application name :"<< argv[0]<<endl; 
    return 0; 
} 
相关问题