Sponsored Content
Top Forums Programming A single statement without main function in c Post 302951197 by jim mcnamara on Monday 3rd of August 2015 10:10:08 PM
Old 08-03-2015
Code:
int main()
{
    return 0;
}

This is the most "minimal" legal C program. It is not obvious but main is in fact a function, not the real beginning of the compiled code. When you link a C program the linker adds (something like) two functions: _start() and _end() The actual names are implementation dependent. _start() sets up a lot of memory objects and files like stdout and stdin _end() cleans up after _start()

If main is not fully declared you get undefined behavior. Undefined behavior is just that - the program may dump core, panic the kernel, format your disk, or send family pictures to the Mars explorer.
This User Gave Thanks to jim mcnamara For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

c++ calling main() function

i just finished a project for a c++ class that i wrote at home on my computer, compiled with gcc. when i brought the code into school it would not compile, it would complain that cannot call main() function. at school we use ancient borland c++ from 1995. anyway my program has 20 different... (3 Replies)
Discussion started by: norsk hedensk
3 Replies

2. Programming

main function

Is it possible to execute any function before main() function in C or C++. (6 Replies)
Discussion started by: arun.viswanath
6 Replies

3. Programming

signal handling while in a function other than main

Hi, I have a main loop which calls a sub loop, which finally returns to the main loop itself. The main loop runs when a flag is set. Now, I have a signal handler for SIGINT, which resets the flag and thus stops the main loop. Suppose I send SIGINT while the program is in subloop, I get an error... (1 Reply)
Discussion started by: Theju
1 Replies

4. Shell Programming and Scripting

Help in separating variables declared in the main function

Hi! I've a C program as shown below.. The line numbers and the statements of the program are separated by a space.. 1 #include<stdio.h> 2 char a,b,c; 3 float x,y,z; 4 int main() 5 { 6 int d,e,f; 7 // further declarations 8 // further declarations 9 /* body*/ 10 } 11 void fun1() 12... (1 Reply)
Discussion started by: abk07
1 Replies

5. Programming

unable to send a char parameter from main to a function

why does this not work? #include <stdio.h> #include <stdlib.h> char getFileMode(char charChanger) { char filetype; /*var to hold the value to be returned*/ filetype = charSetter; /*set filetype to "l" if it is a symlink*/ return filetype; } int main(void){ char... (8 Replies)
Discussion started by: bluetxxth
8 Replies

6. Programming

How to access argv[x] from another function other than main???

Hi friends, when I am passing arguments to main, I want another function to be able to have access to that function, the problem is that I am creating athread, which has a function like void *xyz(void *), how can pass the refernce of argv to this function, if you see my program, you will better... (2 Replies)
Discussion started by: gabam
2 Replies

7. Programming

Function main returning int?

H friends, As we know, a function returns a value and that value is saved somwhere. like int Sum( int x, int y ) { return x + y; } Total = Sum( 10, 20 ); The value 30 is saved in variable Total. Now the question is, what int value does the function main return, and where is it... (5 Replies)
Discussion started by: gabam
5 Replies

8. AIX

Calling functions from main program from dlopened library function

Hello All, I am trying to call a function from the calling main program from a dlopened library function, below is the entire code, when I execute it it crashes with sigill. Can you guys help me out I guess I am missing out on the linker flag or something here. besides I am new to AIX and... (1 Reply)
Discussion started by: syedtoah
1 Replies

9. UNIX for Dummies Questions & Answers

[ksh93+] Array fed by function is empty when used in main.

I feel that i am missing something obvious but i can't find what is wrong. I have a script that is launching some functions with "&" and each call is feeding the array with a value. When all calls are finished I just want to retrieve the values of that array. It is looking like that : ... (5 Replies)
Discussion started by: bibou25
5 Replies

10. UNIX for Beginners Questions & Answers

A function that refuses to run anywhere else but main()

Hi. I have some code, that for some reason, I could not post it here in this post. Here's the address for it: #if 0 shc Version 4.0.1, Generic Shell Script Compiler GNU GPL Version 3 Md - Pastebin.com First off, I used "shc" to convert the code from shell script to C. And The... (6 Replies)
Discussion started by: ignatius
6 Replies
end(3C) 						   Standard C Library Functions 						   end(3C)

NAME
end, _end, etext, _etext, edata, _edata - last locations in program SYNOPSIS
extern int _etext; extern int _edata; extern int _end; DESCRIPTION
These names refer neither to routines nor to locations with interesting contents; only their addresses are meaningful. _etext The address of _etext is the first location after the program text. _edata The address of _edata is the first location after the initialized data region. _end The address of _end is the first location after the uninitialized data region. USAGE
When execution begins, the program break (the first location beyond the data) coincides with _end, but the program break may be reset by the brk(2), malloc(3C), and the standard input/output library (see stdio(3C)), functions by the profile (-p) option of cc(1B), and so on. Thus, the current value of the program break should be determined by sbrk ((char *)0). References to end, etext, and edata, without a preceding underscore will be aliased to the associated symbol that begins with the under- score. SEE ALSO
cc(1B), brk(2), malloc(3C), stdio(3C) SunOS 5.10 1 Sep 2003 end(3C)
All times are GMT -4. The time now is 06:45 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy