Re: importC with struct name and function conflict
On Saturday, 3 August 2024 at 05:10:37 UTC, Dakota wrote: How can I get the function and type from importC? is there a auto rename mechanism ? The most pragmatic workaround is to add a typedef to the C code: ```C int S; struct S { int a, b; }; typedef struct S S_t;// add this typedef ``` https://dlang.org/spec/importc.html#tag-symbols
Re: Get compile time string of dmd command line options "-os" & "-target"
On Thursday, 1 August 2024 at 04:00:08 UTC, An Pham wrote: pragma(msg, os.stringof...?); pragma(msg, target.stringof...?); There's no built-in way, but you can define it yourself in a helper module: ```D version(Windows) enum os = "windows"; else version(AArch64) enum os = "aarch64"; else static assert(0, "unsupported os"); ```
Re: Get compile time string of dmd command line options "-os" & "-target"
On Saturday, 3 August 2024 at 12:15:46 UTC, Dennis wrote: On Thursday, 1 August 2024 at 04:00:08 UTC, An Pham wrote: pragma(msg, os.stringof...?); pragma(msg, target.stringof...?); There's no built-in way, but you can define it yourself in a helper module: ```D version(Windows) enum os = "windows"; else version(AArch64) enum os = "aarch64"; else static assert(0, "unsupported os"); ``` First, I will note that "windows" and "aarch64" are not in the same category... Second, there are some already-built parts in phobos: https://dlang.org/phobos/std_compiler.html https://dlang.org/phobos/std_system.html I also went ahead and did some for arch and runtime flavor, in a project where I needed these, feel free to steal (Boost licensed): https://github.com/schveiguy/raylib-d/blob/master/install/source/app.d#L135-L154 -Steve