For some reason, I need to use the absolute path in #include
for my system.
Is using #include "D:\temp\temp_lib\temp.h"
acceptable?
I have tried these different usage and it all seems to work.
#include "D:\temp\temp_lib\temp.h"
#include "D:\\temp\\temp_lib\\temp.h"
#include "D:/temp/temp_lib/temp.h"
I just want to know which one should I use? I am using MSVC 2005. I'm wondering if all three will still work in Linux or other environment.
I was expecting #1 to be an error during compilation, but I did not get any. Anyone has any idea why that is?
Every implementation I'm aware of, and certainly MSVC 2005 and linux, allows you to specify the directory paths in which to find header files. You should include D:\temp\temp_lib on the list of directory paths, and then use
#include <temp.h>
For gcc, use -I path. For MSVC, see Where does Visual Studio look for C++ header files?
The reason that #1 isn't a syntax error is that, although it looks like a string literal, it isn't. The specification is
#include "q-char-sequence"
Where q-char is
any member of the source character set except the new-line character and "
In particular, \
has no special meaning. The interpretation of the q-char-sequence is implementation-defined.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With