Question #1 :

What you can do is to check the compiled object file (.obj) where you can see 
the result of the compilation (before linkage).
Check http://en.wikipedia.org/wiki/Object_file for details.
But this is not exactly what you want and I don't know of a tool to 'expand' 
C/C++ source code and show you the result.
Of course, you can search for such a tool, it may exist, or maybe check for 
some compiler options to do that.

Question #2:

You can find a detailed answer here : 
http://experts.about.com/q/C-1040/message-box.htm

Question #3:

Well, you can always read the header files :). Otherwise, from what I know you 
can directly got to the type / function definition using a shortcut in VS7. I 
didn't try with VS6.

Question #4:

Yes, this is correct. The explanation is that the compiler transforms indexing 
operator [] in the content of the memory location at adress 'a' indexed by 'i'.
a[i] is equivalent with *(a+i) which is the same with *(i+a) (addition is 
commutative).
And because i[a] is *(i+a), a[i] == i[a]. You should really study pointers and 
pointers operations.
It's very important knowledge if you want to learn C.

Hope this helps.






Question #1



Is there any way to do the precompile and output it to a file ? I want

to look at the expanded source with all the includes and conditional

stuff.



Question #2



The demo "Hello World" program starts with -



int APIENTRY    WinMain(HINSTANCE       hInstance,

                                HINSTANCE       hPrevInstance,

                                LPSTR           lpCmdLine,

                                int                     nCmdShow)



I'm trying to figure out what the APIENTRY is ?



If it is a type then I looked in all the include files to see were it

might be defined and can find no reference to its definition.



#3

As a more general question, I see many references to types and am

trying to figure out an easy wasy to track them back to the source of

definition so that I might see what they are. Is there any easy way to

do this ?



#4



>From WIKIPEDIA -



x[i] = 1;

*(x + i) = 1;

*(i + x) = 1;

i[x] = 1; /* strange, but correct */



Supposedly all 4 examples yield the same results.



They listed the last example just because it demonstrates something

that doesn't seem correct but works. But they left the explanation out.

= = = =



I've got a bunch more questions, this is quite overwhelming at first.

If anyone wants to offer some tutoring, I wouldn't mind the help.



Thanks a lot. 





    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->








 
____________________________________________________________________________________
Yahoo! Music Unlimited
Access over 1 million songs.
http://music.yahoo.com/unlimited

Reply via email to