How can I execute C++ functions from Dlang?
Ferhat Kurtulmuş
aferust at gmail.com
Mon Aug 14 07:36:31 UTC 2023
On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:
> hola a todos quisiera ejecutar este codigo de c++
> `
> #include \<iostream>
>
> using namespace std;
>
> int main() {
>
> return 0;
> }
>
> int foo(int i, int j) {
> cout \<\< i\<\<endl;
> cout \<\< j \<\< endl;
> return 7;
> }
> `
>
> con este comando: g++ -shared app2.cpp -o app2.obj
> y este es mi codigo en Dlang
>
> `
> #!/usr/bin/env dmd
> import core.stdc.stdio;
>
> import std;
>
> alias print = writeln;
>
> extern(C++) int foo(int i, int j);
> void main () {
>
> foo(3,6);
>
>
> }
> ` con este comando: dmd app1.d app2.obj
> pero tengo este error:
> lld-link: error: app2.obj: unknown file type
> Error: linker exited with status 1
?Tu usas ambos de 64 bit o 32 bit para compiladores?
No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en
Windows:
cppcode.cpp
```d
#include <iostream>
using namespace std;
// no nececitamos un main aqui
int foo(int i, int j) {
cout << i << endl;
cout << j << endl;
return 7;
}
```
main.d
```d
extern(C++) int foo(int i, int j);
void main () {
foo(3,6);
}
```
La compulacion:
cl cppcode.cpp -c
dmd main.d cppcode.obj
More information about the Digitalmars-d-learn
mailing list