Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I cannot understand what the following means "ISAPI applications can be written using any language which allows the export of standard C functions, for instance C, C++, Delphi." What is "allowing export of C/C++/Delphi functions" ?

P.S. I am very very new.

share|improve this question

It means declaring the functions in one module in a manner that allows them to be called by another module - making them 'public', calling them via 'extern' declarations, and so on. The terminology varies from language to language.

share|improve this answer

THe C language has a very well defined stack frame and calling convention for it's functions. It has been stable for many years, and is probably the most widely used interface in computing today - Windows API calls, and Unix/Linux System calls use the C calling convention. Many (most?) languages can build a function that has the C stack frame, and call fucntions using the C stack frame. In most cases, this requires the compiler to be told not to use it's native calling convention.

The "allow exporting...." statement is a way of saying that if the language can make and/or use a C style stack frame, it will work.

share|improve this answer
Not literally true, but a reasonable approximation. On pretty much every platform, there is a consensus what C stack frames look like, and what the C calling convention is. This is commonly called the C ABI. However, the C ABI for Sparc/Solaris isn't the same as the C ABI for x86/Windows. It can't be; the C ABI for Sparc uses CPU registers that x86 just doesn't have. – MSalters Aug 4 '11 at 11:17
I never though that it might be possible to call a function in a SPARC application directly from a Windows application. – mattnz Aug 5 '11 at 1:12
It's not, of course, but it does contradict your statement that there is a well-defined calling convenction for C. Oh, and Windows famously does not use the C calling convention. – MSalters Aug 5 '11 at 7:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.