home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.fortran      Putting John Backus on a giant pedestal      5,127 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,886 of 5,127   
   Steven G. Kargl to Lynn McGuire   
   Re: how do you send a fortran character    
   02 Jan 25 18:40:54   
   
   From: sgk@REMOVEtroutmask.apl.washington.edu   
      
   On Thu, 02 Jan 2025 02:27:54 -0600, Lynn McGuire wrote:   
      
   > How do you send a fortran character string from GCC to GFortran ?   
   >   
   > I cannot get this to link.  I can do the reverse, send a fortran   
   > character string from Gfortran to GCC.   
   >   
   > I do have the additional complication that I do not know the length of   
   > the fortran character string being sent from GCC to Gfortran at compile   
   > time, only run time.  So that is a character*(*) string.   
   >   
   > I am not using the ISO C binding.   
      
   As Thomas as indicated, ISO C binding was introduced into the   
   Fortran standard to address your needs.  But, if you want to   
   go old school with gcc/gfortran, then   
      
   % cat aa.c   
   #include    
      
   void   
   string_(char *s, int *slen)   
   {   
      strncpy(s, "abc", *slen);   
   }   
      
   % cat bb.f90   
   program foo   
      external :: string   
      character(len=10) str   
      call string(str, len(str))   
      print *, '>>' // str //'<<'   
   end program foo   
      
   % ~/work/bin/gcc -c aa.c   
   % gfcx -o z bb.f90 aa.o   
   % ./z   
    >>abc<<   
      
   --   
   steve   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca