Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual studio 2015。如何在编译时在代码中获取项目名称?_C++_Visual Studio - Fatal编程技术网

C++ Visual studio 2015。如何在编译时在代码中获取项目名称?

C++ Visual studio 2015。如何在编译时在代码中获取项目名称?,c++,visual-studio,C++,Visual Studio,我可以使用宏\uuuuu file\uuuu获取文件名吗。 如何获取项目名称 只需在项目设置中添加编译器定义即可。项目名称显然是项目范围的,所以应该很简单 您也可以使用 $(项目名称)< /CudioBug系统宏(可用宏在下拉值中使用“代码> >代码”编辑预处理宏时可以看到”,并将定义放在包含在所有项目中的属性表中。 < P> C++中,ARGV(0)是可执行名称。如果使用了默认项目设置,则通常可执行文件名设置为项目名 int main(int argc, char **argv) {

我可以使用宏
\uuuuu file\uuuu
获取文件名吗。 如何获取项目名称


只需在项目设置中添加编译器定义即可。项目名称显然是项目范围的,所以应该很简单


您也可以使用<代码> $(项目名称)< /CudioBug系统宏(可用宏在下拉值中使用“代码> >代码”编辑预处理宏时可以看到”,并将定义放在包含在所有项目中的属性表中。

< P> C++中,ARGV(0)是可执行名称。如果使用了默认项目设置,则通常可执行文件名设置为项目名

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

std::cout一个简单的示例:

#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;
}
#包括“stdafx.h”
#包括
#包括
#如果!已定义项目名称
#定义项目名称“”
#恩迪夫
int _tmain(int argc,_TCHAR*argv[]
{
std::string str(项目名称);

std::cout您需要它做什么?项目>属性>C/C++>预处理器>预处理器定义。添加
PROJECTNAME=$(PROJECTNAME)
。对发行版配置重复此操作。@HansPassant,配置编辑器中还有一个有用的开关,用于同时编辑所有配置。您应该尝试使用它来查看它造成的破坏。您可以在此处找到宏:@neohope,是的。但是,在visual studio中查找宏有两个好处:您可以看到值,还可以看到ee由系统的其他组件(如SDK和MSBuild.OP)定义的组件希望在编译时使用它,因此这不是一个解决方案。这不是一种可靠的方法。