S
Samsung I7500
Erfahrenes Mitglied
- 5
Moin! Ich habe ein in C geschriebenes Programm, welches auf meinen PCs ohne weiteres problemlos läuft. Nun versuche ich es mittels Android NDK auf Android lauffähig zu bekommen. Dort spinnt das ganze aber total rum. Ein Beispiel:
Ich habe ein Array in das ich beliebig Elemente einfügen kann. Anschließend habe ich eine Methode, die mir die Anzahl der Elemente des Arrays ausgibt. Unter C ist das in dem Fall eine Integer Variable die beim Hinzufügen von Elementen incrementiert wird. Während mir das Programm auf dem PC immer die korrekte Anzahl der Elemente ausgibt beträgt diese bei der Android Ausgabe immer 1, egal wieviele neue Elemente ich einfüge. Bei leerer Liste hingegen stürzt mir das Programm einfach ab.
Nun frage ich mich woher dieses Verhalten kommt. Das Programm selbst läuft wie gesagt sowohl auf Linux als auch auf Windows oder OsX ohne Probleme. Für Windows speziell habe ich mir noch einen C# Wrapper geschrieben um das Programm unter .NET nutzen zu können. Läuft auch super. Aber unter Android ausgeführt spackt es einfach nur rum, obwohl der Build (ndk-build unter CygWin) problemlos verläuft.
Gibt es da etwa irgendwas spezielles zu beachten wenn man mit C Programme mit NDK auf Android portiert? Irgendwelche NDK Eigenarten oder sowas? Evtl. irgendwie anders kompilieren oder so?
Besten Dank schonmal...
Ich habe ein Array in das ich beliebig Elemente einfügen kann. Anschließend habe ich eine Methode, die mir die Anzahl der Elemente des Arrays ausgibt. Unter C ist das in dem Fall eine Integer Variable die beim Hinzufügen von Elementen incrementiert wird. Während mir das Programm auf dem PC immer die korrekte Anzahl der Elemente ausgibt beträgt diese bei der Android Ausgabe immer 1, egal wieviele neue Elemente ich einfüge. Bei leerer Liste hingegen stürzt mir das Programm einfach ab.
Nun frage ich mich woher dieses Verhalten kommt. Das Programm selbst läuft wie gesagt sowohl auf Linux als auch auf Windows oder OsX ohne Probleme. Für Windows speziell habe ich mir noch einen C# Wrapper geschrieben um das Programm unter .NET nutzen zu können. Läuft auch super. Aber unter Android ausgeführt spackt es einfach nur rum, obwohl der Build (ndk-build unter CygWin) problemlos verläuft.
Gibt es da etwa irgendwas spezielles zu beachten wenn man mit C Programme mit NDK auf Android portiert? Irgendwelche NDK Eigenarten oder sowas? Evtl. irgendwie anders kompilieren oder so?
Besten Dank schonmal...