Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #15507
| From | Nobody <nobody@nowhere.com> |
|---|---|
| Subject | Re: hi,everyone. can anybody tell me where the C++ program start? |
| Date | 2012-04-22 03:34 +0100 |
| Message-Id | <pan.2012.04.22.02.34.50.867000@nowhere.com> |
| Newsgroups | comp.lang.c++ |
| References | <c24c257f-50aa-4d3e-a856-fa34eb3d2cf4@lf20g2000pbb.googlegroups.com> <ssh4p75mtkiucr6m7uph6qpr1fra8v8sj7@4ax.com> <b071f2ba-1c4b-42ec-8d70-c9f099044b29@k10g2000pbk.googlegroups.com> |
| Organization | Zen Internet |
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.
Back to comp.lang.c++ | Previous | Next — Previous in thread | Find similar | Unroll thread
hi,everyone. can anybody tell me where the C++ program start? 伏虎 <fuhu314@hotmail.com> - 2012-04-20 20:43 -0700
Re: hi,everyone. can anybody tell me where the C++ program start? ralph <nt_consulting64@yahoo.net> - 2012-04-21 00:52 -0500
Re: hi,everyone. can anybody tell me where the C++ program start? 伏虎 <fuhu314@hotmail.com> - 2012-04-20 23:25 -0700
Re: hi,everyone. can anybody tell me where the C++ program start? scott@slp53.sl.home (Scott Lurndal) - 2012-04-21 16:59 +0000
Re: hi,everyone. can anybody tell me where the C++ program start? Nobody <nobody@nowhere.com> - 2012-04-22 03:34 +0100
csiph-web