This file is indexed.

/usr/share/doc/libcnf-dev/html/node43.html is in libcnf-dev 4.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 98.2 beta6 (August 14th, 1998)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Other Approaches to Mixed Language Programming</TITLE>
<META NAME="description" CONTENT="Other Approaches to Mixed Language Programming">
<META NAME="keywords" CONTENT="sun209">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<LINK REL="STYLESHEET" HREF="sun209.css">
<LINK REL="next" HREF="node44.html">
<LINK REL="previous" HREF="node42.html">
<LINK REL="up" HREF="sun209.html">
<LINK REL="next" HREF="node44.html">
</HEAD>
<BODY >
<BR> <HR>
<A NAME="tex2html646"
 HREF="node44.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
<A NAME="tex2html644"
 HREF="sun209.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
<A NAME="tex2html638"
 HREF="node42.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>   <A HREF="sun209.html#stardoccontents"><IMG
 ALIGN="BOTTOM" BORDER="0" SRC="contents_motif.gif"
 ALT="252"></A>
<BR>
<B> Next:</B> <A NAME="tex2html647"
 HREF="node44.html">Compiling and Linking</A>
<BR>
<B>Up:</B> <A NAME="tex2html645"
 HREF="sun209.html">CNF and F77 Mixed Language Programming - FORTRAN and C</A>
<BR>
<B> Previous:</B> <A NAME="tex2html639"
 HREF="node42.html">Subroutines and Functions as Arguments</A>
<BR> <HR> <P>

<!--End of Navigation Panel-->

<H1><A NAME="SECTION000130000000000000000"></A><A NAME="xref_other_approaches_to_mixed_language_programming"></A>
<BR>
Other Approaches to Mixed Language Programming
</H1>

<P>
The F77 macros and CNF functions described in this document provide a
complete way of writing portable programs in a mixture of FORTRAN and C. 
All of the work necessary to provide the correct interface goes into writing
the C routines. It is relatively painless to call C from FORTRAN, since the
work of writing the interface need only be done once, but it can be annoying to
have to write a lot of extra code every time that a FORTRAN routine is called
from a C one. 
As mentioned in 
<A HREF="node36.html#f77_ffromc">More on Calling FORTRAN from C</A>
, it may be appropriate to write 
wrap-around routines when calling FORTRAN from C.

<P>
Another package that tackles the problem of mixing C and FORTRAN is one called
CFORTRAN, written by Burkhard Burow of the University of Toronto. This will be
available as part of the CERN library and could be provided on Starlink if
required. This package allows you to write an interface layer between a user's
code and a subroutine package such that neither side need be aware that the
other is written in a foreign language. This is a crucial difference from the
F77 macros, where the C code is written in the full knowledge that the function
is being called from, or is to call, a FORTRAN routine. It is certainly
possible to write a package that can be called either from FORTRAN or C using
the F77 macros, but this does not occur automatically.

<P>
When using CFORTRAN, an extra level of subroutine call is always involved over
what is strictly necessary using the macros described in this document. This
results in less efficient code. However, when this is not a serious problem,
there may be situations in which it is more appropriate to use the CFORTRAN
system in preference to F77.

<P>
<BR> <HR>
<A NAME="tex2html646"
 HREF="node44.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
<A NAME="tex2html644"
 HREF="sun209.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
<A NAME="tex2html638"
 HREF="node42.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>   <A HREF="sun209.html#stardoccontents"><IMG
 ALIGN="BOTTOM" BORDER="0" SRC="contents_motif.gif"
 ALT="252"></A>
<BR>
<B> Next:</B> <A NAME="tex2html647"
 HREF="node44.html">Compiling and Linking</A>
<BR>
<B>Up:</B> <A NAME="tex2html645"
 HREF="sun209.html">CNF and F77 Mixed Language Programming - FORTRAN and C</A>
<BR>
<B> Previous:</B> <A NAME="tex2html639"
 HREF="node42.html">Subroutines and Functions as Arguments</A>
<BR> <HR> <P>

<!--End of Navigation Panel-->
<ADDRESS>
<I>CNF and F77 Mixed Language Programming -- FORTRAN and C<BR>Starlink User Note 209<BR>P.M. Allan<BR>A.J. Chipperfield<BR>R.F. Warren-Smith<BR>19 January 2000<BR>E-mail:<A HREF="mailto:ussc@star.rl.ac.uk">ussc@star.rl.ac.uk</A></I>
</ADDRESS>
</BODY>
</HTML>