How to use ImportC?

Leonardo leotada523 at gmail.com
Fri Mar 4 01:30:00 UTC 2022


Thanks but not worked here.

```
[leonardo at leonardo-pc dimportc]$ dmd --version
DMD64 D Compiler v2.098.1

Copyright (C) 1999-2021 by The D Language Foundation, All Rights 
Reserved written by Walter Bright
[leonardo at leonardo-pc dimportc]$ ls
foo.c  program.d
[leonardo at leonardo-pc dimportc]$ cat foo.c
double twice(double x) {
   return 2.0*x;
}
[leonardo at leonardo-pc dimportc]$ cat program.d
import foo;
import std.stdio;

void main() {
   writeln(twice(6.8));
}

[leonardo at leonardo-pc dimportc]$ dmd program.d foo.c
/usr/include/dlang/dmd/core/stdc/stdio.d(1256): Error: function 
`core.stdc.stdio.vfprintf` `pragma(printf)` functions must be 
`extern(C) int vfprintf([parameters...], const(char)*, va_list)`
/usr/include/dlang/dmd/core/stdc/stdio.d(1259): Error: function 
`core.stdc.stdio.vfscanf` `pragma(scanf)` functions must be 
`extern(C) int vfscanf([parameters...], const(char)*, va_list)`
/usr/include/dlang/dmd/core/stdc/stdio.d(1262): Error: function 
`core.stdc.stdio.vsprintf` `pragma(printf)` functions must be 
`extern(C) int vsprintf([parameters...], const(char)*, va_list)`
/usr/include/dlang/dmd/core/stdc/stdio.d(1265): Error: function 
`core.stdc.stdio.vsscanf` `pragma(scanf)` functions must be 
`extern(C) int vsscanf([parameters...], const(char)*, va_list)`
/usr/include/dlang/dmd/core/stdc/stdio.d(1268): Error: function 
`core.stdc.stdio.vprintf` `pragma(printf)` functions must be 
`extern(C) int vprintf([parameters...], const(char)*, va_list)`
/usr/include/dlang/dmd/core/stdc/stdio.d(1271): Error: function 
`core.stdc.stdio.vscanf` `pragma(scanf)` functions must be 
`extern(C) int vscanf([parameters...], const(char)*, va_list)`
/usr/include/dlang/dmd/core/stdc/stdio.d(1485): Error: function 
`core.stdc.stdio.vsnprintf` `pragma(printf)` functions must be 
`extern(C) int vsnprintf([parameters...], const(char)*, va_list)`

```


More information about the Digitalmars-d-learn mailing list