|
Well I didn't go into as detailed a explanation but the bottom line is the same... garbage for a return value.
|
|
|
|
|
Sounds like you're misunderstanding Emilio.
In case you missed the earlier posts...
main() is special.
- you can't call it
- it always returns an integer
- if there isn't an explicit return statement the compiler inserts an effective "return 0;" on that control path
So the return value is never "garbage" it's always well defined - either by the programmer or the standard.
|
|
|
|
|
I'm not misunderstanding anything. Of course it returns an int it is simply garbage therefore useless.
|
|
|
|
|
yes...i was refering to change the program's entry point. I was just asking the question and have no intensions to even experiance it.
|
|
|
|
|
Not properly in a "portable" way. But the most of the linkers (including microsoft) allow to specify a different "entry point function".
But I suggest to be very careful about that.
The actual entry point (for the OS) for a C++ program is not main , but mainCRTStartup (for MS compilers and linker) that calls init_term(true) and then calls main(...) , and -on return- calls init_term(false) ;
They are internal C-Runtime library function necessary to initialize all the global and static variables you may have in your program that require a call to a constructor.
Skipping those functions means you have no chance to initialize global and static objects, and handle their destruction at program termination.
2 bugs found.
> recompile ...
65534 bugs found.
|
|
|
|
|
No, see 3.6.1.1. and 3.6.1.2 of the c++ language specification.
|
|
|
|
|
Irrelevant.
The question is another: can the OS invoke something different than main?
That does not depend on C++ specs, but on how the linker is instructed.
What about WinMain ?!?
2 bugs found.
> recompile ...
65534 bugs found.
|
|
|
|
|
No. The question was: "Can main() be overloaded?". The answer is no. However, the standard does not enforce the existence of "main" - it leaves it up to the implementation how the entry point of a program is defined. But if the entry point is main, "it shall not be overloaded"...
|
|
|
|
|
Please read all the post: just four line up yours, the OP clarified we where all misleading his originally malposed question!
2 bugs found.
> recompile ...
65534 bugs found.
|
|
|
|
|
In Windows, distribute it as a DLL and use the runDLL32 (something like that) to pick your entry point.
I imagine *nix has a similar utility.
|
|
|
|
|
not sure about overloading, but it can be called just like a regular function.
12 Days o Christmas
|
|
|
|
|
...not in a "well formed c++ program" according to c++ standard.
|
|
|
|
|
Hi all,
Its been long but I am back with another puzzling question...
Does anybody who has worked on ADSI can help me out to read 'User must change password at next logon' using LDAP. I do know how to set the values by using 'pwdlastset' but I am not able to search for a way to read it.
Can somebody throw a light on it.
-Kushagra
|
|
|
|
|
I dont know the exact answer to your question, usually I use a tool like http://ldaptool.sourceforge.net/[^] to browse for attributes and view them, then try and read the attribute once I know what Im looking for/at
If you dont have such, use that or search for [LDAP Explorer] for example
'g'
|
|
|
|
|
that doesnot help me out... as I am working on ADSI and using LDAP just for authentication..
|
|
|
|
|
|
Finally I was able to figure this stuff out...
Check this out: http://msdn.microsoft.com/en-us/library/ms974598.aspx
We will have to query for 'PasswordLastChanged' and if it fails with error code E_ADS_PROPERTY_NOTFOUND , then we have the password option set as 'User must change password at next logon'.
Hope this helps someone in future.
-Kushagra
|
|
|
|
|
Continued from http://www.codeproject.com/Messages/3565121/help-needed-about-help.aspx
If s is a char* -type variable containing the name of a *.chm-type file, please how do I call it as a help file?
With the old help I used a format like:
case _HELP_: WinHelp(wn,PROGNAME".HLP",HELP_CONTENTS,0); goto DEF;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A link in that earlier thread led me to an application that can decompile .HLP files into .RTF files. Thanks.
I still have an old help-maker called HELPGEN that translates from its scripting input language to .RTF and then separately from .RTF to .HLP .
Please, where is a simple-to-use application which can translate from such .RTF's to .CHM ?
|
|
|
|
|
According to MSDN, how about:
case _HELP_: HtmlHelp(wn, s, HH_DISPLAY_TOC, (DWORD_PTR)NULL);
Also see Google: Converting WinHelp HtmlHelp. Hope this helps
/M
|
|
|
|
|
Can you use ShellExecute() ?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
When you are in the MFC context :
CYourApp::CYourApp()
{
EnableHtmlHelp();
}
BEGIN_MESSAGE_MAP(CYourApp, CWinApp)
ON_COMMAND(ID_HELP, OnHelp)
END_MESSAGE_MAP()
BOOL CYourApp::InitInstance()
{
...
CString cszHelpFile(_T("C:\\test.chm"));
m_pszHelpFilePath = _tcsdup(cszHelpFile);
...
}
#define HLP_INDEX 0 // index of the desired page
void CYourApp::OnHelp()
{
HtmlHelp(HLP_INDEX, HH_HELP_CONTEXT);
}
Use also: /*virtual*/ void CWnd::HtmlHelp(DWORD_PTR dwData, UINT nCmd /*= 0x000F*/)
virtual void BeHappy() = 0;
|
|
|
|
|
PROGNAME".HLP" isnt a proper string so it doesnt work
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
#define PROGNAME "myapp"
makes it a proper string
|
|
|
|
|
you guys are so evil
|
|
|
|
|
Jedi stuff. Don't try it at home...
|
|
|
|