|
What is the basic function of #pragma prerpocessor directives is C?
|
|
|
|
|
From MSDN:
The #pragma directives offer a way for each compiler to offer machine- and operating system-specific features while retaining overall compatibility with the C and C++ languages. Pragmas are machine- or operating system-specific by definition, and are usually different for every compiler.
You can read more about Pragma directives here[^]
Regards
modified on Monday, December 28, 2009 1:26 PM
|
|
|
|
|
They can be used for things like making sure you include a header once:
#pragma once
disabling a warning:
#pragma warning(disable:4996)
adding a lib file to linker:
#pragma comment(lib, "winmm.lib")
and various other things.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
See here[^] for descriptions of the different #pragma types.
|
|
|
|
|
A pragma is an instruction to the compiler, and sets compiler behaviour, such as Code generation, How to behave when a warning or error condition is encountered, etc, etc.
It can cover any aspect of the compiler that the compiler writers deemed worth covering. The only rule about pragma's and portibility is, that a compiler should ignore any pragma that it does not understand.
Bram van Kampen
|
|
|
|
|
????
Is this a Bug in CP?
I never wrote the above though my name is on it, the answer I did write appears to have disappeared in the ether.
Bram van Kampen
|
|
|
|
|
Bram van Kampen wrote: Is this a Bug in CP?
Probably. I've already reported the issue.
Regards,
Nuri Ismail
|
|
|
|
|
Thanks,
Seems to have Rectified.
Bram van Kampen
|
|
|
|
|
Im using the following code n my program,
CString sAlrm = _T("");
sAlrm.Format("%-16s %-10s %-10s",pTagBase->GetTagName(),pTagBase->GetDescription(),pAlrmDisp->sStatus);
But it shows error as
error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [18]' to 'const wchar_t *'
with
[
BaseType=wchar_t,
StringTraits=StrTraitMFC_DLL<wchar_t>
]
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
The return value of GetTagName,GetDescription all are CString value.
What is the error?how can i avoid it.
Im using VS2008.
Anu
|
|
|
|
|
It would appear that you're compiling with the Unicode character set selected. (Right click on the project in the Solution Explorer, select Properties; it's on the 'Configuration Properties/General' page.)
Your format string is being seen as a string of type char ; to convert it to TCHAR 's, which will automatically map to wchar_t 's when Unicode is selected, use the '_T' macro, just as you did when you initialized the string -
CString sAlrm = _T("");
sAlrm.Format(_T("%-16s %-10s %-10s"),pTagBase->GetTagName(),pTagBase->GetDescription(),pAlrmDisp->sStatus); .
L u n a t i c F r i n g e
|
|
|
|
|
Yes when i changed to UseMultiByte character set,i didnt get such kind of errors.
Thank you.
Anu
|
|
|
|
|
Please mark his answer good by clicking "Good Answer" in his post.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Before I get started, I would like to say that I know I am reinventing the wheel. That being said I would like to state that I am doing this as a new challenge in my programming.
I am wondering if anyone has any resources on developing A GUI toolkit; specifically in windows. My goal is to bypass the windows API entirely by using OpenGL to develop this toolkit, and then develop a small application using it.
I am a near fluent C++ programmer; I understand the STL, pointers, dynamic allocation, classes, OOP, ambiguity and polymorphism in code. I have little knowledge of the windows API, but I do have a working knowledge of OpenGL, using libraries such as Glut, gl, and glu.
I would like to stress that this is not something that has a deadline. It is not a project for a class or company. I am just a kid looking for a new challenge, in hopes to better prepare him self for his declared major in a year.
Regards,
Alex E.
|
|
|
|
|
I found this open source GUI toolkit based on OpenGL - LibUFO[^]
|
|
|
|
|
Thank you kindly. I hadn't thought of looking into open source toolkits and reverse engineering them. ^^;; I'll get right on that.
|
|
|
|
|
I guess this would be your best bet, unless you can get hold of a book that is specific to GUI toolkits.
|
|
|
|
|
Hi,
Is there a Windows Message being broadcast by the system when it enters/leaves Sleep/Hibernation Mode.
Thanks,
Bram van Kampen
|
|
|
|
|
|
Thanks,
Fits the bill like a glove.
Bram van Kampen
|
|
|
|
|
If the previous answer helped you, please click on "Good Answer" and give it the deserved merit
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Thanks,
You're right,
Just did so.
Bram van Kampen
|
|
|
|
|
I want to run an application (see child) so that it can get the path of the current process (see parent). How?
Thank you masters!
|
|
|
|
|
Your question is a little unclear. Why not simply pass the path to the process on the command line?
Steve
|
|
|
|
|
Are you looking for GetModuleFileName Function?
You can get the path of the executable file of the current process using above function.
Sample code:
TCHAR szBuff[512];
GetModuleFileName(0, szBuff, 512);
--
"Programming is an art that fights back!"
|
|
|
|
|
Well,
I would use GetModuleFileName() in the Parent process, and stuff it into the Environment of the Child Process:-
PARENTPROCESS=C:\Program Files\etc...
The Child Process can then queery the Environment, to get the Paren Process Name back.
Bram van Kampen
|
|
|
|