Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-03-2007, 21:42   #1
nico88desmo
Senior Member
 
Iscritto dal: Jul 2006
Messaggi: 1568
[DELPHI - C] Chiamare funzioni C dal Delphi.

Un saluto a tutti!

Ho visto che in Delphi si possono chiamare delle funzioni scritte in C se si utilizzano le DLL.
Siccome io dovrò fare un programma multi-piattaforma non potrò usufruire delle DLL perchè utilizzabili solo da Windows.

Ho visto che si potrebbe linkare l'object del C tramite la direttiva
- {$L progC.o}
e in questo modo si collega il file C (o meglio il codice oggetto del C) al progetto delphi.

però poi per chiamare le funzioni?

Grazie a tutti
nico88desmo è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2007, 14:01   #2
nico88desmo
Senior Member
 
Iscritto dal: Jul 2006
Messaggi: 1568
Ci sono riuscito!!!

Scrivo le sequenze da fare per creare il .exe.

Con questo si genera il .o di nome c1.o che è il file oggetto del C
- gcc -c c1.c

Una volta fatto questo, tramite la direttiva scritta all'interno della unit pascal
- {$L c1.o}
permetto di richiamare le funzioni scritte in C e poi la dichiarazione della funzione C è:
- function prova():integer; cdecl; external;
external = dice che è una funzione esterna;
cdecl = (c declaration) dice che è una funzione scritta in C

Precisazione;
Come ambiente di sviluppo ho utilizzato
- LAZARUS per form e codice delphi(pascal) (compatibile sia linux sia windows)

e come compilatore
- GCC come compilatore del C

Il linkaggio del programma è stato fatto tramite l'IDE LAZARUS.

codice delphi:
Codice:
{$L c1.o}
unit Unit2;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
  StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  Form1: TForm1; 
  
implementation

function prova():integer; cdecl; external;

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
   n:integer;
begin
  n:=prova();
  Memo1.text:=inttostr(n);
  
end;
codice C:
Codice:
#include <stdlib.h>


int prova();

int prova() {

   return 5;
}
nico88desmo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Tutte le offerte che meritano del Prime ...
Prime Day FRITZ!: dal 5G al Wi‑Fi ...
Prime Day smartphone: Galaxy S26 in test...
Prime Day Amazon, pioggia di sconti sui ...
Nikon e Prime Day Amazon: si risparmiano...
Prime Day cuffie: Sony WH-1000XM6 e AirP...
Prime Day su schede video, memorie, stor...
Prime Day TV: LG, Philips, Samsung, TCL ...
Prime Day appena partito, tutti i robot ...
Prime Day portatili gaming, da HP Victus...
Portatili tuttofare: il meglio del Prime...
Prime Day e Amazon Seconda Mano, parte i...
Engwe O20 Boost: abbiamo provato in ante...
UWANT V800: addio al rullo rotante, l’as...
Keenetic Stellar 6 porta il WiFi 6 negli...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v