Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-02-2006, 16:24   #1
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
[C/Linux] Creare ed usare librerie dinamiche

Ho bisogno di creare una libreria dinamica e visto che mi sembra di non averne mai fatte (in Linux, perché in Windows non ho problemi) ... sto facendo una semplice prova.
Sono in /tmp/test ed ho questi 2 sorgenti (sono stupidi ma è solo x prova):

prova.c
Codice:
#include <stdio.h>

void prova (int a, int b)
{
    printf ("%d\n", a*b);
}
app.c
Codice:
#include <stdio.h>

void prova (int, int);

int main (void)
{
    prova (10, 3);
    return 0;
}
prova.c lo compilo con:
gcc -c -o prova.o prova.c
e poi con:
gcc -shared -Xlinker -soname -Xlinker libprova.so -o libprova.so prova.o
per ottenere una libprova.so

app.c lo compilo con:
gcc -c -o app.o app.c
e poi con:
gcc -L/tmp/test -lprova -o app app.o

L'eseguibile funziona solo se imposto la variabile LD_LIBRARY_PATH=/tmp/test, altrimenti mi viene segnalato che non riesce a trovare la libreria dinamica.
Nota bene: io ho bisogno poi di mettere la mia libreria dinamica in una directory qualunque e non necessariamente in una directory di sistema.

Cosa devo fare? È possibile evitare di dover impostare LD_LIBRARY_PATH?

Grazie. Sicuramente è una stupidaggine!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2006, 16:40   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da andbin
Nota bene: io ho bisogno poi di mettere la mia libreria dinamica in una directory qualunque e non necessariamente in una directory di sistema.
Se la directory "qualunque" non è nota a priori, non puoi fare altro che utilizzare LD_LIBRARY_PATH o /etc/ld.so.conf. Il loader non può trovare la libreria semplicemente invocando la sfera di cristallo

Se la directory è "fissa" (ad es. decidi di mettere le tue librerie in /opt/mylibs), allora è sufficiente che quando fai il link del tuo eseguibile aggiungi
-Wl,--rpath=/opt/mylibs
Così facendo la (o le) directory indicata con --rpath sarà la prima ad essere esaminata dal loader; poi toccherà alle directory di sistema/ld_library_path ecc.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2006, 19:32   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ilsensine
Se la directory "qualunque" non è nota a priori, non puoi fare altro che utilizzare LD_LIBRARY_PATH o /etc/ld.so.conf. Il loader non può trovare la libreria semplicemente invocando la sfera di cristallo
Io per directory "qualunque" non intendevo ovviamente una directory "a caso" o non nota ma una directory fissa e ben precisa ma non di sistema.

Quote:
Originariamente inviato da ilsensine
Se la directory è "fissa" (ad es. decidi di mettere le tue librerie in /opt/mylibs), allora è sufficiente che quando fai il link del tuo eseguibile aggiungi
-Wl,--rpath=/opt/mylibs
Così facendo la (o le) directory indicata con --rpath sarà la prima ad essere esaminata dal loader; poi toccherà alle directory di sistema/ld_library_path ecc.
Infatti così funziona, mi era "sfuggito" il rpath.
Grazie mille per l'info!!!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Little Snitch su Linux: finalmente dispo...
John Deere accetta un accordo da 99 mili...
Gli astronauti di Artemis II osservano i...
OpenAI lancia ChatGPT Pro da 100 dollari...
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: 02:03.


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