我剛剛發現了MoSync SDK,我認爲它是C++程序員使用相同源代碼生成iOS & Android應用程序的非常好的選擇。對於C++程序員來說,MAUI API非常容易學習。 我在iPhone模擬器上測試了一個提供的例子,它工作得很好。但是當查看xcodeproject文件時,找到了一個看起來像彙編代碼的C++源文件。我搜索了關於編譯過程的信息,看起來原來的C++代碼被翻譯成IL語言,IL語言被轉換成C++代碼。MoSync與外部庫鏈接
有沒有人對這個過程的性能問題有任何想法。生成的代碼是否有效?
我想用一些UI調用一個簡單的iOS蘋果,在靜態庫中調用我的C++代碼。所以我做了該出口一個功能的靜態庫(libmylib.a添加):
extern "C" double tst_function(double x)
{
return sin(x)+2.5;
}
然後我從MoSync HelloNativeUI例如內部調用tst_function
,並添加libmylib.a添加在MoSync IDE鏈接標誌。但我得到了在編譯過程中出現錯誤:
>>pipe-tool libmylib.a -appcode=KOOU -stabs=stabs.tab .....
failed to load '-appcode=KOOU'
我想也libmylib.a添加添加到剛過mastdD.lib,MAUtilD.lib,NativeUI.lib額外的庫,但我得到這個錯誤信息:
那麼如何告訴MoSync IDE調用位於靜態庫中的外部函數呢?
pipe-tool Copyright 2007-2009 Mobile Sorcery AB
pass 1. 97 known symbols.
/Users/mosyncbuilder/slave/buildScripts/temp_j4DF/source/libs/NativeUI/ActivityIndicator.cpp:58: Error: Illegal instruction '!<arch>',
那麼如何告訴IDE MoSync有關從外部靜態庫調用函數?
親切的問候,
謝謝你替換存根庫的想法。但你認爲它會起作用嗎?由mosync爲函數'double tst_func(double x)'生成的ARM代碼將是'int tst_func(int i0,int i1)'。 Xcode生成的ARM代碼是否與mosync代碼相同? – Yazou