Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > hi,everyone. can anybody tell me where the C++ program start?

Reply
Thread Tools

hi,everyone. can anybody tell me where the C++ program start?

 
 
伏虎
Guest
Posts: n/a
 
      04-21-2012
hi,everyone. can anybody tell me where the C++ program start? I am
writing a loader, I want know the entry point of C++ program.

thank you.
 
Reply With Quote
 
 
 
 
ralph
Guest
Posts: n/a
 
      04-21-2012
On Fri, 20 Apr 2012 20:43:33 -0700 (PDT), ?? <(E-Mail Removed)>
wrote:

>hi,everyone. can anybody tell me where the C++ program start? I am
>writing a loader, I want know the entry point of C++ program.
>
>thank you.


The "entry-point" is defined in the executable file format for the
platform you are developing on. This starting point is set by the
Linker used to compile the executable, it might be at the lowest
address, the start of the TEXT section, or anywere else.

A specific Language has no impact on the entry-point, however, a
development framework or rapid tool might have.

Research the documentation for the specific 'executable' file format
for the platform of interest. Your loader will need to query it for
the entry-point.

-ralph
 
Reply With Quote
 
 
 
 
伏虎
Guest
Posts: n/a
 
      04-21-2012
On Apr 20, 10:52*pm, ralph <(E-Mail Removed)> wrote:
> On Fri, 20 Apr 2012 20:43:33 -0700 (PDT), ?? <(E-Mail Removed)>
> wrote:
>
> >hi,everyone. can anybody tell me where the C++ program start? I am
> >writing a loader, I want know the entry point of C++ program.

>
> >thank you.

>
> The "entry-point" is defined in the executable file format for the
> platform you are developing on. This starting point is set by the
> Linker used to compile the executable, it might be at the lowest
> address, the start of the TEXT section, or anywere else.
>
> A specific Language has no impact on the entry-point, however, a
> development framework or rapid tool might have.
>
> Research the documentation for the specific 'executable' file format
> for the platform of interest. Your loader will need to query it for
> the entry-point.
>
> -ralph
>
>


my question is I have a piece of asm code, and I want to start the C++
main(), which function shall I call?

I am using gnu tool. I compile the C++ code into .o files and use ld
to link them together. if i want to write a ld script to tell the ld
to output a.out file or elf file, how to do that? i checked the asm
code output by the gcc -S, and I cannot find the start or _start
symbol.

 
Reply With Quote
 
Nobody
Guest
Posts: n/a
 
      04-22-2012
On Fri, 20 Apr 2012 23:25:25 -0700, 伏虎 wrote:

> my question is I have a piece of asm code, and I want to start the C++
> main(), which function shall I call?


Note that a C++ program doesn't start by executing main(). It starts by
executing the constructors for variables defined at file scope. main() is
only called after that has been done.

> I am using gnu tool. I compile the C++ code into .o files and use ld
> to link them together. if i want to write a ld script to tell the ld to
> output a.out file or elf file, how to do that? i checked the asm code
> output by the gcc -S, and I cannot find the start or _start symbol.


When linking object files together with gcc or g++, it will also link the
appropriate "CRT" file (unless -nostartfiles is given), and possibly
libgcc as well.

You're better off asking this sort of question on a group dedicated either
to the toolchain (e.g. gcc and/or binutils) or the platform. For and
ELF-based Linux system, you might want to look at the source code for
ld-linux.so (which is part of glibc).

An ELF executable specifies the entry point in the e_entry field of the
header. If an ELF executable specifies a loader (on Linux, this is
normally ld-linux.so.2 or ld-linux-<arch>.so.2), execve() will call the
entry point of the loader; it's up to the loader to figure out how to run
the program.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
hi,everyone. can anybody tell me where the C++ program start? 伏虎 C Programming 1 04-21-2012 02:11 AM
Can anybody tell me how to record some illegal DVD's? Jason DVD Video 2 04-10-2006 01:35 AM
Anybody can tell me whats up here TOTAL SYSTEM FAILURE serge Computer Support 1 06-12-2005 11:03 AM
Can anybody tell me what does StringUTFChars(temp, backupFileNames[i]) do in JNI jin zhang Java 3 10-01-2004 04:02 PM
can anybody tell me how to compile the C code with embedded python. =?iso-8859-1?q?vipul=20parmar?= Python 0 03-04-2004 07:04 AM



Advertisments