Ich bin daran interessiert, mit Firefemonkey eine iOS App zu erstellen. Es gibt mehrere native C-Bibliotheken, die ich in dieser Anwendung verwenden möchte. Ich weiß, dass iOS dynamische Bibliotheken nicht zulässt, aber gibt es eine Möglichkeit, statische Bibliotheken in dieser iOS-App zu verwenden?Verwendung von statischen N-C-Bibliotheken in Delphi FireMonkey iOS-Entwicklung
Antwort
Ja, Sie können C statische Bibliotheken verwenden, um mit Firemonkey iOS Appli mit xcode zu verknüpfen. Ich habe es mit Xcode außerhalb von RADStudio X2 getan. Mit RADStudio habe ich xcode project erstellt. Auf dem Mac openned ich das Xcode-Projekt und das hinzugefügt:
function C_func(double :x):double; cdecl; external;
{$linklib my_c_lib.a}
I statisches Bibliothek-Projekt in Xcode (benannt my_c_lib) erstellt mit einer C-Datei enthält:
double C_func(double x)
{
return x+2.5;
}
Ich nehme an, dass in der gleichen Weise Sie kann bereits kompilierte statische Bibliotheken verwenden. Hier
gibt es einen Post über eine ähnliche Frage [hier] (http://stackoverflow.com/questions/10287149/how-to-call-nsbeep-from-delphi) – Yazou
ist eine iOS-Anwendung ich gemacht: Unit1.pas von XE2 generiert:
unit Unit1;
interface
uses
SysUtils, Types, UITypes, Classes, Variants, FMX_Types, FMX_Controls, FMX_Forms,
FMX_Dialogs, FMXTee_Engine, FMXTee_Series, FMXTee_Procs, FMXTee_Chart,
FMX_ExtCtrls;
type
TForm1 = class(TForm)
CornerButton1: TCornerButton;
Chart1: TChart;
Series1: TLineSeries;
Label1: TLabel;
procedure CornerButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
x : double; // I added this in Xcode Editor
end;
// I added this declaration
function tst_function(x:double):double;cdecl;external;
var
Form1: TForm1;
implementation
{$R *.lfm}
{$link tst1.o} // I added this
procedure TForm1.CornerButton1Click(Sender: TObject);
var i: integer; x : double;
begin
for i := 1 to 500 do
begin
x:=tst_function(i*3.14/250.0);
Series2.Add(x);
end
end;
end.
und die C-Datei tst1.c ist:
#include <stdio.h>
#include <math.h>
double tst_function(double x)
{
return sin(x)+0.25;
}
- 1. Delphi Firemonkey TGrid Verwendung
- 2. Delphi Firemonkey iOS Hintergrundverarbeitung
- 3. Delphi XE6 Firemonkey Formular
- 4. Delphi Firemonkey erhalten Liste von Audiotreiber/Gerät
- 5. Delphi FireMonkey speichert Daten in der Anwendung
- 6. Fluid/Dynamisches Layout in Firemonkey/Delphi
- 7. Aufnehmen von Bildern auf Android von Delphi Firemonkey XE5 App
- 8. Delphi Firemonkey Maßstab für High DPI Windows
- 9. Delphi XE4 FireMonkey TMemo Transparent? (iOS)
- 10. Delphi XE4 FireMonkey TMemo Transparent? (iOS)
- 11. Verwendung von statischen Schlüsselwort
- 12. Verwendung von statischen Variable
- 13. Anhören (IP-Adresse, UDP-Port) von Delphi firemonkey Anwendung
- 14. Schaffung Verbundsteuerungen in Firemonkey
- 15. Delphi Verwendung von TGridPanel
- 16. Grid's TCheckColumn funktioniert nicht in Delphi 10.1 Berliner firemonkey Anwendung
- 17. firemonkey + xcode, gemischter Code
- 18. Implementierung von Firebase Messaging in Firemonkey
- 19. Standard-Firemonkey-Stylesheet (Datei) für Delphi XE-6 Firemonkey Desktop-Anwendung?
- 20. Die Verwendung von statischen libraby in MFC
- 21. Firemonkey Leistungsprobleme
- 22. Verhindern von Firemonkey Foto
- 23. Firemonkey tun Zeug im Hintergrund Form Delphi 10 Seattle
- 24. Confusion von TTimeSpan Verwendung in Delphi 2010
- 25. Verwendung von Nachkommen TOwnedCollection in Delphi
- 26. Firemonkey Standard Windows-Stil?
- 27. Bidi Sprache von rechts nach links in Firemonkey Mobile
- 28. Laden von FireMonkey-Stil-Ressourcen mit RTTI
- 29. Verwendung von Clang statischen Analysator auf Windows
- 30. Fehler: Verwendung von nicht-statischen Daten Mitglied
Was bedeutet die FPC-Dokumentation müssen zu der Sache sagen? –
Es scheint, dass Delphi im Allgemeinen keine statischen Bibliotheken erstellen oder verwenden kann. – user1027169