944,025 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 1611
  • C RSS
Sep 21st, 2006
0

Basic C Question

Expand Post »
Hi,

I have a basic doubt about C compiler option.
I have 10 functions in my environment and I want a particular function to go into a new section which will be defined in a file where the function is defined.

My question is:
Can we define a seperate section in C file for a particular function?

Please let me know if anyone knows.

Thanks,
SSK.
Last edited by saravana_ssk; Sep 21st, 2006 at 11:18 am. Reason: Typo error
Similar Threads
Reputation Points: 14
Solved Threads: 0
Newbie Poster
saravana_ssk is offline Offline
2 posts
since Sep 2006
Sep 21st, 2006
0

Re: Basic C Question

Not certain about your question -- can a function declared in one file call a function in another file? Yes, the program has two or more files they all must be linked together into one executable program. How to do that depends on the compiler you are using because every compiler is a little different.

What compiler and operating system?
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,953 posts
since Aug 2005
Sep 21st, 2006
1

Re: Basic C Question

Thanks for your reply.

I am working on Metrowerks C compiler and the OS is solaris5.8 and linux24.

Actually, there was a typo error in my question. Sorry for that. :-)

Let's assume that I have 10 function in a c file called one.c.
I want function called void ten (void); to go into c particular memory range.

Can I control this by putting some kind of attibute or pragma to define a section for that particular function (ten)?

Hope this time the question is clear. :-)

Thanks,
Saravana.
Reputation Points: 14
Solved Threads: 0
Newbie Poster
saravana_ssk is offline Offline
2 posts
since Sep 2006
Sep 21st, 2006
1

Re: Basic C Question

Hi,

I have a basic doubt about C compiler option.
I have 10 functions in my environment and I want a particular function to go into a new section which will be defined in a file where the function is defined.

My question is:
Can we define a seperate section in C file for a particular function?

Please let me know if anyone knows.

Thanks,
SSK.
Hm you need to performulate th question. Whats section? This word is too abstract
EDIT: Sorry after the second post its clearer
Last edited by andor; Sep 21st, 2006 at 11:34 am.
Reputation Points: 251
Solved Threads: 29
Posting Whiz in Training
andor is offline Offline
274 posts
since Jun 2005
Sep 21st, 2006
0

Re: Basic C Question

>>Can I control this by putting some kind of attibute or pragma to define a section for that particular function (ten)?

I never heard if a section, there is no such thing in standard C language.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,953 posts
since Aug 2005
Sep 21st, 2006
0

Re: Basic C Question

I think maybe you are looking for function pointers which can decide which function to execute dynamically depending on the type of input by the user or triggered by some condition in the program. So if you have ten functions in a file "functions.c" with the same signatures and return types and you want to call one of those functions depeding on the input of the user, you can declare a function pointer which can moulded into any function call on the fly.

More info can be found here:
http://theory.uwinnipeg.ca/programming/node86.html
http://www.newty.de/fpt/fpt.html
http://www.eskimo.com/~scs/cclass/int/sx10a.html
http://publications.gbdirect.co.uk/c..._pointers.html

Hope it helped, bye.
Super Moderator
Featured Poster
Reputation Points: 3233
Solved Threads: 720
Failure as a human
~s.o.s~ is offline Offline
8,872 posts
since Jun 2006
Sep 21st, 2006
1

Re: Basic C Question

> I want function called void ten (void); to go into c particular memory range.
You can, but why would you want to?

Both your operating systems are perfectly capable of running the code at the default address the linker gives to the function. If you move it too far, it might be outside of the address space the OS gives to user programs.

The question is very heavily dependent on the capabilities of your linker. I know "in principle" how to do this with the GNU linker, but only by studying the manual at length.

Manually locating bits of code is something I've only ever had to do for embedded systems where some code has to be placed in FLASH memory for example, and other code is loaded and run from RAM.
Team Colleague
Reputation Points: 5862
Solved Threads: 950
Posting Sage
Salem is offline Offline
7,164 posts
since Dec 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: Regarding getpid function
Next Thread in C Forum Timeline: segmented error??





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC