ImportC is becoming usable for some things
Imperatorn
johan_forsberg_86 at hotmail.com
Sun Oct 22 17:29:49 UTC 2023
Let's take a look at a simple example (this example is without
using .di-files):
https://github.com/Mashpoe/c-hashmap
Clone it and put the files somewhere convenient.
Now, let's try using it.
In this example map.c and app.d are located in the same directory.
```d
import std.stdio : writeln;
// Use map.c
import map;
import std.string : toStringz;
alias c = toStringz;
void main()
{
hashmap* m = hashmap_create();
string key = "hello";
hashmap_set(m, key.c, key.length, 400);
uintptr_t result;
if (hashmap_get(m, key.c, key.length, &result))
{
writeln(key, " = ", cast(int) result);
}
else
{
writeln("Could not locate entry ", key);
}
}
```
If you have your paths setup correctly, you can now run
```
dmd map.c app.d
```
dmd has now produced an executable. Run it and see the results.

Nice. Now if we also could get autocompletion etc it would be
even better. It's probably possible with some tweaks already, but
I didn't look into it.
More information about the Digitalmars-d
mailing list