What is the meaning of #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_BGR)

81 Views Asked by At

In my Visual Studio 2008 project, I add a copy of the string table, with the language of Bulgarian. Then I see the following section appears:

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_BGR)
#ifdef _WIN32
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
...

I cannot the line

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_BGR)

Does this means if the DLL is not a resource DLL or Bulgarian is defined as the target, then the following Bulgarian string table will be included?

Since my project is a standard app, the !defined(AFX_RESOURCE_DLL) is TRUE so the following Bulgarian string table will always be included?

Also for the line:

LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT

Does it means all resources AFTER this preprocessor directive will be complied as Bulgarian? I find this article https://forums.codeguru.com/showthread.php?171242-what-is-this-LANGUAGE-LANG_ENGLISH-SUBLANG_ENGLISH_US, but not very clear about that.

0

There are 0 best solutions below