|
George_George wrote: Both stdcall and cdecl calling convention could support variable input parameters? Is that correct?
I dont think so. Only cdecl will be able to support variable number of arguments. Because in stdcall, the stack is cleaned by the called function. That means that function should know how much variables it accepts at the compile time it self.
But in the case of cdecl, the caller should clean the stack. Since the caller is pushing the variables to stack, it correctly know how much size to should pop from stack
modified on Thursday, July 17, 2008 5:58 AM
|
|
|
|
|
Thanks nave,
What is the root cause why stdcall does not support variable number of input parameter? Maybe from generated assembly, we could find out?
(I think both caller and callee could get # of input parameters from stack in theory?)
regards,
George
|
|
|
|
|
how could callee found out the number of paremeters from the stack in the case of variable arguments? Also the size of each argument also need to be known isn't it?
|
|
|
|
|
Thanks nave,
I think the reason why stdcall can not have variable number of input parameter is, we can not have a common code which is capable to pop variable number of input parameters (a specific function is common code base, and needs common code to pop a specific number (not variable) of elements from stack, but if input parameter number is variable, it is impossible to have such a common code base), correct?
regards,
George
|
|
|
|
|
|
Thanks Naveen,
Question answered.
regards,
George
|
|
|
|
|
George_George wrote: Both stdcall and cdecl calling convention could support variable input parameters? Is that correct?
No[^]
|
|
|
|
|
Thanks Nemanja,
What is the root cause why stdcall does not support variable number of input parameter? Maybe from generated assembly, we could find out?
(I think both caller and callee could get # of input parameters from stack in theory?)
regards,
George
|
|
|
|
|
You can see the detailed explanation in the article. Basically, stdcall functions have to clean up stack themselves (as opposed to the caller function) and at compile time they have no knowledge how many parameters are there going to be passed.
|
|
|
|
|
|
Hello everyone,
I am new to RPC (TCP based) and IOCP, any recommended tutorials?
thanks in advance,
George
|
|
|
|
|
|
Hamid. wrote: (May I ask a question are you student?)
Doubtful. There was some speculation a while back that he is not even human, that he is a bot.
led mike
|
|
|
|
|
No, I am not.
regards,
George
|
|
|
|
|
Cool, Hamid!
I like both of them. I am your student.
regards,
George
|
|
|
|
|
No you are not,but you are a good china man,right?
|
|
|
|
|
Thanks Hamid,
Good man means?
regards,
George
|
|
|
|
|
Mean=Lin George.
|
|
|
|
|
Hello dear friend,
How can we control the system sound.
I want to control sound from my application.
I want following things to handle from the application
1)Mute/Unmute
2)Play/Pause
3)Adjustring the system volume.
How can I do these things?
Sample code would be appreciated.
Thanks in Advance.
ritz1234
|
|
|
|
|
|
|
Play and puase of other programs or your program?
|
|
|
|
|
As in the windows xp media player we can play/pause the song this what I want should be handled from the application.
ritz1234
|
|
|
|
|
|
ritz1234 wrote: 3)Adjustring the system volume.
How can I do these things?
Here is one example.
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|