Can v call procedures written in other languages from a C prgm

Discussion in 'C Programming' started by shailashri_sk@sify.com, Aug 3, 2004.

  1. Guest

    Hello All,
    Just wanted to know, if there is IDE which provides compilers for diff
    languages like C, ADA, C++ etc. Can v call the procedures written in
    C++ or ADA,
    from these C prgms may be, by some compiler directives to tell, that
    for this procedure a different compiler is to be used to produre the
    ..exe file.
    thanks,
    Shailu,
    PS : As I know, in Ada language there is an option of using pragmas,
    which are compiler directives, which tells to use C compiler and we
    can call the C procedures from Ada prgm.
     
    , Aug 3, 2004
    #1
    1. Advertising

  2. Ben Pfaff Guest

    writes:

    > Just wanted to know, if there is IDE which provides compilers for diff
    > languages like C, ADA, C++ etc. Can v call the procedures written in
    > C++ or ADA,
    > from these C prgms may be, by some compiler directives to tell, that
    > for this procedure a different compiler is to be used to produre the
    > .exe file.


    Your question is outside the domain of comp.lang.c, which discusses
    only the standard C programming language, including the standard C
    library. This is a remarkably narrow topic compared to what many
    people expect.

    For your convenience, the list below contains topics that are not
    on-topic for comp.lang.c, and suggests newsgroups for you to explore
    if you have questions about these topics. Please do observe proper
    netiquette before posting to any of these newsgroups. In particular,
    you should read the group's charter and FAQ, if any (FAQs are
    available from www.faqs.org and other sources). If those fail to
    answer your question then you should browse through at least two weeks
    of recent articles to make sure that your question has not already
    been answered.

    * OS-specific questions, such as how to clear the screen,
    access the network, list the files in a directory, or read
    "piped" output from a subprocess. These questions should be
    directed to OS-specific newsgroups, such as
    comp.os.ms-windows.programmer.misc, comp.unix.programmer, or
    comp.os.linux.development.apps.

    * Compiler-specific questions, such as installation issues and
    locations of header files. Ask about these in
    compiler-specific newsgroups, such as gnu.gcc.help or
    comp.os.ms-windows.programmer.misc. Questions about writing
    compilers are appropriate in comp.compilers.

    * Processor-specific questions, such as questions about
    assembly and machine code. x86 questions are appropriate in
    comp.lang.asm.x86, embedded system processor questions may
    be appropriate in comp.arch.embedded.

    * ABI-specific questions, such as how to interface assembly
    code to C. These questions are both processor- and
    OS-specific and should typically be asked in OS-specific
    newsgroups.

    * Algorithms, except questions about C implementations of
    algorithms. "How do I implement algorithm X in C?" is not a
    question about a C implementation of an algorithm, it is a
    request for source code. Newsgroups comp.programming and
    comp.theory may be appropriate.

    * Making C interoperate with other languages. C has no
    facilities for such interoperation. These questions should
    be directed to system- or compiler-specific newsgroups. C++
    has features for interoperating with C, so consider
    comp.lang.c++ for such questions.

    * The C standard, as opposed to standard C. Questions about
    the C standard are best asked in comp.std.c.

    * C++. Please do not post or cross-post questions about C++
    to comp.lang.c. Ask C++ questions in C++ newsgroups, such
    as comp.lang.c++ or comp.lang.c++.moderated.

    * Test posts. Please test in a newsgroup meant for testing,
    such as alt.test.

    news.groups.questions is a good place to ask about the appropriate
    newsgroup for a given topic.

    --
    "It wouldn't be a new C standard if it didn't give a
    new meaning to the word `static'."
    --Peter Seebach on C99
     
    Ben Pfaff, Aug 3, 2004
    #2
    1. Advertising

  3. Malcolm <> scribbled the following:
    > "Ben Pfaff" <> wrote
    >> > Just wanted to know, if there is IDE which provides compilers for diff
    >> > languages like C, ADA, C++ etc. Can v call the procedures written in
    >> > C++ or ADA,
    >> > from these C prgms may be, by some compiler directives to tell, that
    >> > for this procedure a different compiler is to be used to produre the
    >> > .exe file.

    >>
    >> Your question is outside the domain of comp.lang.c, which discusses
    >> only the standard C programming language, including the standard C
    >> library.
    >>

    > No it isn't. Questions about how to call a function belong in the caller's
    > group. So if someone asks how to call a C function from Visual Basic that
    > belongs in Visual Basic. How to call functions written in other languages
    > from C belongs here.


    > Unfortunately there isn't a very good answer. There are no standard
    > facilities for doing so. However virtually every platform builds the
    > executable out of linked object files, and sometimes there is a way of
    > compiling another language to a C linkable .o or .obj file. Most assemblers
    > will do this, for example.


    So the answer is "it depends on the implemenation", right?

    --
    /-- Joona Palaste () ------------- Finland --------\
    \-- http://www.helsinki.fi/~palaste --------------------- rules! --------/
    "Make money fast! Don't feed it!"
    - Anon
     
    Joona I Palaste, Aug 3, 2004
    #3
  4. Malcolm Guest

    "Ben Pfaff" <> wrote
    > > Just wanted to know, if there is IDE which provides compilers for diff
    > > languages like C, ADA, C++ etc. Can v call the procedures written in
    > > C++ or ADA,
    > > from these C prgms may be, by some compiler directives to tell, that
    > > for this procedure a different compiler is to be used to produre the
    > > .exe file.

    >
    > Your question is outside the domain of comp.lang.c, which discusses
    > only the standard C programming language, including the standard C
    > library.
    >

    No it isn't. Questions about how to call a function belong in the caller's
    group. So if someone asks how to call a C function from Visual Basic that
    belongs in Visual Basic. How to call functions written in other languages
    from C belongs here.

    Unfortunately there isn't a very good answer. There are no standard
    facilities for doing so. However virtually every platform builds the
    executable out of linked object files, and sometimes there is a way of
    compiling another language to a C linkable .o or .obj file. Most assemblers
    will do this, for example.
     
    Malcolm, Aug 3, 2004
    #4
  5. Ben Pfaff Guest

    "Malcolm" <> writes:

    > "Ben Pfaff" <> wrote
    >> > Just wanted to know, if there is IDE which provides compilers for diff
    >> > languages like C, ADA, C++ etc. Can v call the procedures written in
    >> > C++ or ADA,
    >> > from these C prgms may be, by some compiler directives to tell, that
    >> > for this procedure a different compiler is to be used to produre the
    >> > .exe file.

    >>
    >> Your question is outside the domain of comp.lang.c, which discusses
    >> only the standard C programming language, including the standard C
    >> library.
    >>

    > No it isn't. Questions about how to call a function belong in the caller's
    > group. So if someone asks how to call a C function from Visual Basic that
    > belongs in Visual Basic. How to call functions written in other languages
    > from C belongs here.


    So what answer can be derived from the C standard then, other
    than "check your implementation's documentation"?
    --
    "Give me a couple of years and a large research grant,
    and I'll give you a receipt." --Richard Heathfield
     
    Ben Pfaff, Aug 3, 2004
    #5
  6. red floyd Guest

    wrote in message news:<>...
    > Hello All,
    > Just wanted to know, if there is IDE which provides compilers for diff
    > languages like C, ADA, C++ etc. Can v call the procedures written in
    > C++ or ADA,
    > from these C prgms may be, by some compiler directives to tell, that
    > for this procedure a different compiler is to be used to produre the
    > .exe file.
    > thanks,
    > Shailu,
    > PS : As I know, in Ada language there is an option of using pragmas,
    > which are compiler directives, which tells to use C compiler and we
    > can call the C procedures from Ada prgm.


    If you want to spend a small fortune (OK, a large fortune) Rational
    Apex does that.

    I suspect that you could do it in Eclipse as well. You just need to
    ensure that your toolchain is compatible (best bet for compatibility
    is probably gcc and gcc-ada).
     
    red floyd, Aug 3, 2004
    #6
  7. Richard Bos Guest

    Ben Pfaff <> wrote:

    > "Malcolm" <> writes:
    >
    > > "Ben Pfaff" <> wrote
    > >> > Just wanted to know, if there is IDE which provides compilers for diff
    > >> > languages like C, ADA, C++ etc. Can v call the procedures written in
    > >> > C++ or ADA,
    > >> > from these C prgms may be, by some compiler directives to tell, that
    > >> > for this procedure a different compiler is to be used to produre the
    > >> > .exe file.
    > >>
    > >> Your question is outside the domain of comp.lang.c, which discusses
    > >> only the standard C programming language, including the standard C
    > >> library.
    > >>

    > > No it isn't. Questions about how to call a function belong in the caller's
    > > group. So if someone asks how to call a C function from Visual Basic that
    > > belongs in Visual Basic. How to call functions written in other languages
    > > from C belongs here.

    >
    > So what answer can be derived from the C standard then, other
    > than "check your implementation's documentation"?


    None. However, the OP asked "_Can_ I do this in C?." _That_ is on-topic,
    even though the only on-topic answer is "No, you can't - but your
    compiler suite might." Had he asked, e.g., "How do I use the
    __PascalCall directive", that would've been off-topic; but he didn't.

    Richard
     
    Richard Bos, Aug 4, 2004
    #7
  8. Richard Bos Guest

    (red floyd) wrote:

    > is probably gcc and gcc-ada).


    I really think that should be called gnada, and pronounced "nada". It's
    the only logical option ;-)

    Richard
     
    Richard Bos, Aug 4, 2004
    #8
  9. Ben Pfaff Guest

    (Richard Bos) writes:

    > None. However, the OP asked "_Can_ I do this in C?." _That_ is on-topic,
    > even though the only on-topic answer is "No, you can't - but your
    > compiler suite might." Had he asked, e.g., "How do I use the
    > __PascalCall directive", that would've been off-topic; but he didn't.


    I read it as a question about an IDE.
    --
    "I'm not here to convince idiots not to be stupid.
    They won't listen anyway."
    --Dann Corbit
     
    Ben Pfaff, Aug 4, 2004
    #9
  10. Guest

    "Malcolm" <> wrote in message news:<ceolon$kp7$>...
    > "Ben Pfaff" <> wrote
    >
    > Unfortunately there isn't a very good answer. There are no standard
    > facilities for doing so. However virtually every platform builds the
    > executable out of linked object files, and sometimes there is a way of
    > compiling another language to a C linkable .o or .obj file. Most assemblers
    > will do this, for example.


    Hi,
    SO, there isn't any way to call the functions from C prgm, written in
    a diff language then.
    Shailu.
     
    , Aug 12, 2004
    #10
  11. Richard Bos Guest

    wrote:

    > "Malcolm" <> wrote in message news:<ceolon$kp7$>...
    > >
    > > Unfortunately there isn't a very good answer. There are no standard
    > > facilities for doing so. However virtually every platform builds the
    > > executable out of linked object files, and sometimes there is a way of
    > > compiling another language to a C linkable .o or .obj file. Most assemblers
    > > will do this, for example.

    >
    > SO, there isn't any way to call the functions from C prgm, written in
    > a diff language then.


    No portable way, that is. If you want to call, say, a function written
    in Gnu Pascal, then Gnu C probably has a facility to do so; if you want
    to call a function written in MicroSoft Visual Basic from MSVC, this may
    well be possible; but in all such cases, the way to do so is necessarily
    specific to that particular compiler, and you need to read its
    documentation, or ask in a newsgroup for that compiler, to find out how.

    Note that C++ is a special case: you explicitly _can_ call C functions
    from C++ programs, but this is handled by the C++ Standard, not by C, so
    ask about this feature in comp.lang.c++.

    Richard
     
    Richard Bos, Aug 12, 2004
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Steve C. Orr, MCSD
    Replies:
    1
    Views:
    568
    reaway lee
    Aug 24, 2003
  2. =?Utf-8?B?cmFqYW1hbmlja2Ft?=

    Error - Socket prgm

    =?Utf-8?B?cmFqYW1hbmlja2Ft?=, Oct 28, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    345
    =?Utf-8?B?cmFqYW1hbmlja2Ft?=
    Oct 28, 2004
  3. Ulf Meinhardt
    Replies:
    0
    Views:
    434
    Ulf Meinhardt
    Dec 28, 2009
  4. Diego
    Replies:
    2
    Views:
    152
    Stefan Rusterholz
    Aug 16, 2008
  5. Sven Fischer
    Replies:
    2
    Views:
    561
    Roedy Green
    Mar 9, 2012
Loading...

Share This Page