How do you link a C++ program to C functions?
Answers were Sorted based on User's Feedback
Answer / ravindranath m
The C++ compiler does something called as "name mangling"
for functions, while a C compiler does not. Name mangling
is a process wherein the name of the original function in a
c++ program gets changed to a new name via adding some
prefix and/or postfix to it.
As a result, a c program cannot find the required definition
when trying to link to a cpp object file.
This can be resolved by putting the following declaration in
a c++ header file that contains the cpp function declarations.
#ifdef __cplusplus
extern "C" {
#endif
// function declarations go here...
// ...
#ifdef __cplusplus
}
#endif
| Is This Answer Correct ? | 25 Yes | 4 No |
Answer / nikhil upadhyay
By using the extern "C" linkage specification around the C function declarations.
Programmers should know about mangled function names and type-safe linkages. Then they should explain how the extern "C" linkage specification statement turns that feature off during compilation so that the linker properly links function calls to C functions. Another acceptable answer is "I don't know. We never had to do that." Merely describing what a linker does indicates that the programmer does not understand the issue that underlies the question.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / prabakaran
including the header file #include<stdio.h>
| Is This Answer Correct ? | 3 Yes | 20 No |
what is importance of data sturture in a programming language?
22 Answers L&T, TCS, Wipro,
What are the extraction and insertion operators in c++? Explain with examples.
Which coding certification is best?
Which programming language is best?
What happens when a function throws an exception that was not specified by an exception specification for this function?
If you hear the cpu fan is running and the monitor power is still on, but you did not see anything show up in the monitor screen. What would you do to find out what is going wrong?
Is linux written in c or c++?
Is c++ a low level language?
How to avoid changing constant values?
Where is atoi defined?
write program for palindrome
81 Answers Amazon, Aricent, CSC, GE, HCL, Infosys, Syntel, Temenos, Wipro,
Explain what are single and multiple inheritances in c++?