Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #91616

Re: Problem with calling C++ from Fortran

From db <dieterhansbritz@gmail.com>
Newsgroups comp.lang.c++
Subject Re: Problem with calling C++ from Fortran
Date 2023-09-09 12:52 +0200
Organization A noiseless patient Spider
Message-ID <udhipr$1o3a$1@dont-email.me> (permalink)
References <udhbs9$e5d$1@dont-email.me> <udhcaj$j8l$1@dont-email.me> <udhigb$1n4d$1@dont-email.me>

Show all headers | View raw


On 09.09.2023 12.47, db wrote:
> On 09.09.2023 11.02, Muttley@dastardlyhq.com wrote:
>> On Sat, 9 Sep 2023 10:54:33 +0200
>> db <dieterhansbritz@gmail.com> wrote:
>>> but now it says that C-double doesn't exist.
>>>
>>> Any ideas?
>>
>> C++ mangles function names so that the name you give the function 
>> isn't the
>> name the dynamic loader sees in the binary. You need to put this 
>> around whatever
>> function you want to call from Fortran so it has C style linkage which 
>> means
>> the name remains the same:
>>
>> extern "C" {
>>
>> void calledFromFortran()
>> {
>>     :
>> }
>>
>> }
>>
> 
> Like this:
> 
> const long double iband(const long double tbar)
> extern "C" {
> 
> void calledFromFortran()
> {
>      :
> }
> 
> }
> 
> ? Why the extra } ?

Now I get a new error, due to this "extern"

~/ownlib90/tests> ./jbandtest
jband.cpp:88:1: error: expected initializer before 'extern'
    88 | extern "C" {
       | ^~~~~~
jband.cpp:96:1: error: expected unqualified-id before '{' token
    96 | {
       | ^
jbandtest.f90:21:31:

    21 |     import JBAND, c_long_double
       |                               1
Error: Cannot IMPORT 'c_long_double' from host scoping unit at (1) - 
does not exist.
[...]

-- 
Dieter Britz

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-09 10:54 +0200
  Re: Problem with calling C++ from Fortran Muttley@dastardlyhq.com - 2023-09-09 09:02 +0000
    Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-09 12:47 +0200
      Re: Problem with calling C++ from Fortran Muttley@dastardlyhq.com - 2023-09-09 10:51 +0000
      Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-09 12:52 +0200
        Re: Problem with calling C++ from Fortran Muttley@dastardlyhq.com - 2023-09-09 11:00 +0000
          Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-10 14:33 +0200
            Re: Problem with calling C++ from Fortran Paavo Helde <eesnimi@osa.pri.ee> - 2023-09-10 18:49 +0300
            Re: Problem with calling C++ from Fortran Muttley@dastardlyhq.com - 2023-09-11 08:23 +0000
        Re: Problem with calling C++ from Fortran Paavo Helde <eesnimi@osa.pri.ee> - 2023-09-09 16:56 +0300
          Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-10 14:36 +0200
          Re: Problem with calling C++ from Fortran James Kuyper <jameskuyper@alumni.caltech.edu> - 2023-09-11 00:14 -0400
        Re: Problem with calling C++ from Fortran Bo Persson <bo@bo-persson.se> - 2023-09-10 16:08 +0200
      Re: Problem with calling C++ from Fortran "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2023-09-09 16:30 +0200
    Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-10 14:48 +0200
      Re: Problem with calling C++ from Fortran Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-09-10 14:22 +0100
        Re: Problem with calling C++ from Fortran Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-09-10 17:27 +0100
        Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-11 14:00 +0200
          Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-11 05:21 -0700
          Re: Problem with calling C++ from Fortran Muttley@dastardlyhq.com - 2023-09-11 13:33 +0000
          Re: Problem with calling C++ from Fortran Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-09-12 00:26 +0100
            Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-12 10:48 +0200
              Re: Problem with calling C++ from Fortran Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-09-12 14:14 +0100
              Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-12 07:15 -0700
            Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-12 02:00 -0700
              Re: Problem with calling C++ from Fortran Ben Bacarisse <ben.usenet@bsb.me.uk> - 2023-09-12 14:22 +0100
                Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-12 07:32 -0700
                Re: Problem with calling C++ from Fortran db <dieterhansbritz@gmail.com> - 2023-09-12 18:36 +0200
                Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-19 02:39 -0700
  Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-10 08:38 -0700
  Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-10 09:51 -0700
    Re: Problem with calling C++ from Fortran Michael S <already5chosen@yahoo.com> - 2023-09-11 02:49 -0700
  Buy Zen Mushroom Chocolate Bar Microdose "https://psychedelicminds.shop/" <psychedelicsmind@gmail.com> - 2023-09-11 05:14 -0700

csiph-web