On Wednesday, 27 July 2022 at 19:07:26 UTC, ryuukk_ wrote:
On Wednesday, 27 July 2022 at 18:19:34 UTC, pascal111 wrote:
I made a library of some useful functions while I was studying C, and I'm curious to know if D has equivalents or some ones for some of my functions, or I have to retype 'em again in D.

The library link:
https://github.com/pascal111-fra/turbo-c-programs/blob/main/COLLECT2.H

D ships with libc so everything in there is available

```C
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>
```


In d the equivalent imports:

```D
import core.stdc.stdio;
import core.stdc.string;
import core.stdc.stdlib;
import core.stdc.ctype;
import core.stdc.math;
```

Ok, but before that, I faced a problem when I tried to make my module. I tried to make a test. I made a testing module called "dcollect.d" and I put it in this path on my Ubuntu "/usr/lib/gcc/x86_64-linux-gnu/11/include/d".

module dcollect;

import std.stdio;

int foo22()
{

    return 5;

}

Then I called "foo22" in a testing program and found an error like (this one in another try by telling code::blocks about local searching folder for the compiler I put the module in) "||=== Build: Debug in temp (compiler: GDC D Compiler) ===| /home/pascal111/My Projects/D/temp/hello.d|23|undefined reference to `_D8dcollect5foo22FZi'| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|"

The testing program:

module main;

import std.stdio;
import std.string;
import std.conv;
import dcollect;

int main(string[] args)
{

    string ch;

    try{
        ch=readln();
        ch=strip(ch);

        if(to!int(ch)<0)
            throw new Exception ("You entered negative number!");}

    catch (Exception e){
        writeln(e.msg);}

    writeln(foo22());

        return 0;
}


Reply via email to