Delphi XE6 bağlantı iOS C kodu
Android Uygulaması C kod gerektiren Delphi XE6 kullanarak yaptım. Ancak iOS beceremiyorum. Sorun kol/thumb durumu ile ilgili olduğunu düşünüyorum, ama emin değilim. Ya sistemde sorun Pascal, C kodu aramak yok. Ama eğer C kodu Pascal bir prosedür ararsa iOS oluşturduğu bir "kötü sistem çağrısı (12)"
İşte pascal kodu:
function testarm(a,b:integer):integer; cdecl; external "testC.o";
Procedure testC;
Begin
testarm(1,2);
end;
function BackToPascal(a,b:integer): integer; cdecl;
Begin
result := a b;
end;
......
exports
BackToPascal;
Ve burada C kodu
extern int BackToPascal(int a,int b);
extern int testarm(int a,int b)
{
int i;
i = BackToPascal(a,b);
return i 1;
}
Android bu derleme, ben değilim (çalışıyor):
..."arm-linux-androideabi-gcc.exe" -c test.c -o test.o -O3 -mfloat-abi=softfp -mfpu=neon -marm -march=armv7-a -mtune=cortex-a8
İos:
xcrun -sdk iphoneos clang -c -arch armv7 test.c -O3 -mfpu=neon -mtune=cortex-a8 -marm -march=armv7-a -mfloat-abi=softfp
Böyle büyük mükafat ayarlarımı yanlış ama neden çıkaramıyorum sanırım.
Ben hata ayıklama, hata "BackToPascal ("bl 0x8b8390 Xgobj.çağırırken testarm "testC çağırırken geliyor BackToPascal (int, int)" ). Android mükemmel ancak çalışıyor "" doğrudan çağırmaz "BackToPascal", ama aşağıdaki kod: . bl
75A82D94 12C68FE2 add r12, pc, #18874368 ; 0x1200000
75A82D98 73CA8CE2 add r12, r12, #471040 ; 0x73000
75A82D9C 40F2BCE5 ldr pc, [r12, #576]! ; 0x240
BackToPascal içine almak
CEVAP
Alt projeleri ana proje alt dizinleri yaşamak gerekir TV izleme bir kısıtlama gibi görünüyor (yani, dosya("../foo") yasaktır). Bu gerçekten (bir modül ... ne varsa "ya da" Avam "paketi iki farklı ana projelerde kullanılır?)" formundadır gibi, istediğim bir şey değil ama bununla da yaşayabilirim.
TV izleme 13.5 ve kişisel 13.x, ınter-proje göreli yol ile bağımlılık, bir kullanarak belirtebilirsinizİnşa.scala. Hadi iki proje, çekirdek bir proje varcommonsve başka bir projefooher iki ortak bir dizin yaşıyorkod/
- Yapı oluşturmak.kod/foo/proje/ scala altında
bu kod parçacığını insde Kurmak.scala
object ProjectDependencies { val commons = RootProject(file("../commons"))} object ProjectBuild extends Build { import ProjectDependencies._ lazy val root = Project(id = "foo", base = file(".")).dependsOn(commons)}
sbt gen-idea
TV izleme yoluyla kişisel proje üretmek
Git / Bower Hata: Çıkış Kodu # 128 Ve ...
Varsayılan SQL Server için bağlantı no...
Çerçeve Buster Buster buster kodu gere...
'ın bu 1988 C kodu ile yanlış?...
&Quot;bağlantı pimi" bir düğme ol...