kann man C "units" verwenden
kann man C "units" verwenden
kann ich (irgendwie) C files in FreePascal verwenden?
(oder die compilierten .o files) ???
oder muss man eine .dll erzeugen, um auf die in C geschriebenen funktionen zugreifen zu können ???
(oder die compilierten .o files) ???
oder muss man eine .dll erzeugen, um auf die in C geschriebenen funktionen zugreifen zu können ???
Re: kann man C "units" ferwenden
ich hab es selber gefunden:
{$link cunit.o}
{$linklib c}
{$link cunit.o}
{$linklib c}
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: kann man C "units" verwenden
ach und damit kannst du nun auf die Funktionen und die Möglichkeiten in der O Datei zugreifen ?
brauchst keine "Header Datei" oder wie ?
brauchst keine "Header Datei" oder wie ?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: kann man C "units" verwenden
Na die Funktionsaufrufe muss man sich schon selbst schreiben (oder konvertieren).
function bla: Integer; extern;
function bla: Integer; extern;
Re: kann man C "units" verwenden
pluto hat geschrieben:ach und damit kannst du nun auf die Funktionen und die Möglichkeiten in der O Datei zugreifen ?
brauchst keine "Header Datei" oder wie ?
siehe
ftp://ftp.freepascal.org/pub/fpc/docs-p ... Pascal.pdf" onclick="window.open(this.href);return false;
ist wohl generell eher "mühsam" und bei C++ noch mühsamer..
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
Re: kann man C "units" verwenden
Ich hätte nicht gedacht, dass so etwas funktionieren könnte. Rein intuitiv hätte ich gesagt, es müsse eine Library erstellt werden. Aber ich hab auch keine Ahnung vom Linken. Ich denke, dass diese Möglichkeit unbedingt mehr public gemacht werden muss, da sie ME einen sehr guten Ansatzpunkt für einen schrittweisen Wechsel von C/C++ zu FPC darstellt. Vielleicht sollte man diese Möglichkeit sogar in der Lazarus GUI integrieren. Header translation C -> Pascal gibt es ja auch schon. Ich weiß zwar nicht, inwieweit das automatisierbar ist, aber das sollte man unbedingt verfolgen! Vielleicht wird es dann irgendwann möglich sein C-Source wie eine Pascal-Unit direkt zu integrieren (unter Angabe des entsprechenden C Compilers).
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
- jwdietrich
- Beiträge: 173
- Registriert: Mo 20. Okt 2008, 20:50
- OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
- CPU-Target: PowerPC, Intel, ARM
- Wohnort: Hattingen, NRW
- Kontaktdaten:
Re: kann man C "units" verwenden
Geht es auch umgekehrt?
Sprich, kann man in FPC Units schreiben, die von einem C- oder C++-Environment genutzt werden können?
Sprich, kann man in FPC Units schreiben, die von einem C- oder C++-Environment genutzt werden können?
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: kann man C "units" verwenden
So pauschal sowieso nicht. FPC und GCC sind binärkompatibel (mehr oder weniger). Das gilt dort in beide Richtungen, könnte allerdings (ebenfalls in beide Richtungen) schwierig werden, mit den jeweiligen Laufzeitbibliotheken (die FPC RTL bzw. die CRT).
Re: kann man C "units" verwenden
(ansi)strings nicht vergessen, ...
da wird sich C etwas schwer tun..
da wird sich C etwas schwer tun..
-
- Beiträge: 462
- Registriert: Mi 30. Jul 2008, 13:11
- OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
- CPU-Target: 32Bit
- Kontaktdaten:
Re: kann man C "units" verwenden
Na bei den Strings kann man ja auch mal auf C Rücksicht nehmen und PChar verwenden wenn man sowas plant.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!