Bonjour,
Je suis en stage et je dois développer une interface C# qui doit s'appuyer sur un code écrit en C (écrit façon brut de décoffrage...) Le réécrire me prendrait une semaine et j'ai pas trop le temps, j'ai pensé à en faire une .dll pour pouvoir faire abstraction du changement de langage mais y'a toute une initialisation dans le code et il s’appuie sur un struct que j'aimerais bien pouvoir recevoir dans mon interface.
Quelqu'un (ayant compris :'/ ) aurait-il une idée d'approche a avoir ?
Alhèd ! :c
effectivement, faire une dll est une bonne idée.
Pour la struct, c'est juste que tu veux récup son organisation ou les données qui sont affectés par le code en C ?
En fait les fonctions du DLL modifient un struct (qui lui appartiens) moi ce que je veut après avoir appelé les fonctions de la DLL c'est de recevoir ses données (idéalement dans la meme organisation pour pouvoir les lui renvoyer par la suite)
Je vois pas trop comment m'y prendre...
En plus je suis une bouse en C
moi je suis bon en c et nettement moins en c#, mais en gros, en c tu pourrais faire une fonction type
my_struct returnInfos()
{
return (my_struct_infos);
}
que tu compile comme une dll
que tu appelle dans ton code c#
comme ca je sais pas trop, mais je pense qu'en c# il faudra que tu déclare une structure qui respecte le format de données de ta structure en c. fais gaffe a prendre des variables qui ont les mêmes tailles, et à déclarer ta structure dans le même ordre, si non ca marchera pas
Par contre je rentre quoi en parametres pour en recevoir un ?
struct main(struct structInterface, u16 opcode_msb, u16 opcode_lsb)* le struct des parametres rend l'erreur *"Except an identifier"
C'est tout a fait possible, la seule importance c'est que tu respecte la taille des donnée, et les types.