Can we use "ImportC" used yet?

jfondren julian.fondren at gmail.com
Sat Oct 16 07:09:16 UTC 2021


On Saturday, 16 October 2021 at 06:39:46 UTC, rempas wrote:
> ```
> // Filename: test.d
> import test_c;
>
> void main() {
>   hello_world();
> }
>
> // Filename: test_og.c
> #include <stdio.h>
> #include <stdlib.h>
>
> void hello_world() {
>   puts("Hello world!!!");
> }
> ```
>
> After that, I'm using: `gcc -E -P test_og.c > test_c.c` to 
> preprocess just like you shown and then I'm using the final 
> command with DMD: `dmd test.d test_c.c` and I'm getting the 
> following error message:
>
> ```
> /usr/include/stdio.h(246): Error: found `__filename` when 
> expecting `,`
> ```

These are __restrict errors again, but then I get a bunch of 
others as well. This test_og.c works (while obviously breaking 
some bswap functions):

```c
#define __restrict restrict
#define __asm__ asm
#define __extension__
#define __inline
#define __builtin_bswap16
#define __builtin_bswap32
#define __builtin_bswap64
#include <stdio.h>
#include <stdlib.h>

void hello_world() {
       puts("Hello world!!!");
}
```

It would be less annoying to compile the original test_og.o with 
gcc and then link it in.


More information about the Digitalmars-d-learn mailing list