Hallo,
Ik ben bezig met het ontwikkelen van een embedded applicatie in C++. Op het embedded platform draait ThreadX, welke als library mee wordt gecompileerd in het image.
In ThreadX is een struct gedefineerd, welke ik als een member variabele declareer in een class in C++. Vervolgens geef ik een pointer naar deze member variabele mee aan een functie van ThreadX.
Mijn vraag in het kort is: kan dit?
Een iets langere versie van de vraag is: Is het mogelijk voor code die gecompileerd is in C, om een variabele die gedeclareerd is door C++, aan te spreken als C++ een pointer naar de variabele geeft aan de C code?
Voor de duidelijkheid hier versimpeld de situatie:
Ik ben bezig met het ontwikkelen van een embedded applicatie in C++. Op het embedded platform draait ThreadX, welke als library mee wordt gecompileerd in het image.
In ThreadX is een struct gedefineerd, welke ik als een member variabele declareer in een class in C++. Vervolgens geef ik een pointer naar deze member variabele mee aan een functie van ThreadX.
Mijn vraag in het kort is: kan dit?
Een iets langere versie van de vraag is: Is het mogelijk voor code die gecompileerd is in C, om een variabele die gedeclareerd is door C++, aan te spreken als C++ een pointer naar de variabele geeft aan de C code?
Voor de duidelijkheid hier versimpeld de situatie:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| class cppClass { public: cppClass(); private: c_struct a; }; void c_functie(c_struct* p) { //doe iets met pointer } cppClass::cppClass() { c_functie(&a); //roep de c_functie aan met als argument //een pointer naar de c_struct, gedeclareerd in c++ } |
[ Voor 0% gewijzigd door Verwijderd op 10-05-2007 11:40 . Reden: Layout aangepast ]