Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla
OPPO Watch X2 Mini è uno smartwatch compatto capace di offrire un'esperienza completa di monitoraggio della salute e fitness con una cassa da 43 mm che può adattarsi a qualsiasi tipo di polso, dal più grande al - soprattutto - più piccolo. Con l'architettura dual-chip e un'autonomia che può coprire due giorni con tranquillità, rappresenta la soluzione ideale per chi cerca prestazioni premium in un formato ridotto.
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione
Dopo il recente lancio della serie Xiaomi 15T di Monaco, vi parliamo oggi della versione più performante della nuova famiglia, ovvero Xiaomi 15 T Pro. Vi raccontiamo la nostra prova nel dettaglio, spiegando perché a questo prezzo e in questa fascia, questo smartphone ha davvero senso tenerlo in seria considerazione.
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento
Acer ha ampliato la sua offerta professionale con il TravelMate P6 14 AI, un notebook ultraleggero e robusto pensato per chi lavora in mobilità. Certificato Copilot+ PC, combina design premium, autonomia elevata e piattaforma Intel Core Ultra Serie 2 con funzionalità AI, garantendo sicurezza, affidabilità e produttività per l'utenza business moderna.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-05-2009, 14:50   #1
Ntropy
Senior Member
 
L'Avatar di Ntropy
 
Iscritto dal: Oct 2003
Messaggi: 2002
[C/C++] Cerco aiuto per capire la lentezza di una DLL

Salve a tutti,
sto programmando un'applicazione o meglio reingegnerizzando un software che prende in input delle immagini e fa alcuni calcoli su di esse

Il software è composto da vari file oggetto che contengono funzioni ecc. ecc a cui linko poi il main per creare l'eseguibile e fino a qui tutto bene.

Succesivamente ho dovuto creare una seconda versione di questo software in cui tutti i file oggetto venissero fusi in una sola dll da richiamare poi con un main apposito ed anche questo è andato bene ma nella fase dei test......


...la versione con la dll risulta drammaticamente più lenta della prima versione nel calcolo. Circa 10 volte più lenta

Allora vi chiedo? E' necessario qualche ottimizzazione, oppure non creare una sola dll ma più dll, programmare la dll in modo diverso, compilare in qualche modo specifico???

ide utilizzato: devc++
compilatore: gcc-4.2.1


grazie
__________________
Trattative sul mercatino del forum:tante e mai un problema! Controlla pure i miei vecchi post
Ntropy è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 16:34   #2
Ntropy
Senior Member
 
L'Avatar di Ntropy
 
Iscritto dal: Oct 2003
Messaggi: 2002
ho risolto, avevo sbagliato a compilare

adesso però ho un problema quando uso GetProcAddress in pratica sembra non trovare la funzione nella dll.

qualche suggerimento?
__________________
Trattative sul mercatino del forum:tante e mai un problema! Controlla pure i miei vecchi post
Ntropy è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 16:43   #3
advapi
Senior Member
 
L'Avatar di advapi
 
Iscritto dal: Oct 2004
Città: Valenza(AL)
Messaggi: 2453
ciao,
scusa potresti pastare il codice comprensivo della loadlibrary?
grazie ciao
__________________
Ho concluso positivamente con tante persone!
ROG Strix X570-F Gaming| 5800x | Custom loop| 4090 FE | 32GB DDR4 4400| Evga 1000W | Thermaltake grosso
advapi è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 16:50   #4
Ntropy
Senior Member
 
L'Avatar di Ntropy
 
Iscritto dal: Oct 2003
Messaggi: 2002
Codice:
typedef int (*importFunction)(const char**, int, bool, bool, bool, const char*, const char*, double*, double*, int);

	importFunction LocateLandmarks;
	int result;
 
	// Load DLL file
	HINSTANCE hinstDLL = LoadLibrary("mystasm.dll");
	if (hinstDLL == NULL) {
		printf("ERROR: unable to load DLL\n");
		return 1;
	}
 
	// Get function pointer
	LocateLandmarks = (importFunction)GetProcAddress(hinstDLL, "LocateLandmarks");
	if (LocateLandmarks == NULL) {
		printf("ERROR: unable to find DLL function\n");
		FreeLibrary(hinstDLL);
		return 1;
	}
ho generato il .def con dlltool credo di non aver sbagliato ma cmq posto pure quello

Codice:
; dlltool -z mystasm.def --output-exp mystasm.exp mystasm.o
EXPORTS
;	LocateLandmarks(char const**, int, bool, bool, bool, char const*, char const*, double*, double*, int)
	_Z15LocateLandmarksPPKcibbbS0_S0_PdS2_i @ 1
__________________
Trattative sul mercatino del forum:tante e mai un problema! Controlla pure i miei vecchi post
Ntropy è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 17:07   #5
!k-0t1c!
Member
 
Iscritto dal: Jul 2008
Messaggi: 237
Devi usare extern "C" nella dll per LocateLandmarks altrimenti il nome verrà decorato come da convenzione per il C++ e il risultato sarà che GetProcAddress fallirà salvo qualora tu cerchi di ottenere l'indirizzo della funzione con il nome decorato (che compare nell'ultima riga del .def, che a sua volta in realtà credo che nel tuo caso sia inutile).
!k-0t1c! è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 18:12   #6
Ntropy
Senior Member
 
L'Avatar di Ntropy
 
Iscritto dal: Oct 2003
Messaggi: 2002
Quote:
Originariamente inviato da !k-0t1c! Guarda i messaggi
Devi usare extern "C" nella dll per LocateLandmarks altrimenti il nome verrà decorato come da convenzione per il C++ e il risultato sarà che GetProcAddress fallirà salvo qualora tu cerchi di ottenere l'indirizzo della funzione con il nome decorato (che compare nell'ultima riga del .def, che a sua volta in realtà credo che nel tuo caso sia inutile).
sei grande!!! ho risolto

se passi da Fisciano ti meriti una birra

p.s.
grazie a tutti
__________________
Trattative sul mercatino del forum:tante e mai un problema! Controlla pure i miei vecchi post
Ntropy è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
Xiaomi 15T Pro, è lui il nuovo best buy? La recensione Xiaomi 15T Pro, è lui il nuovo best buy? ...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Il nuovo volante Fanatec è una gi...
La Corte Suprema rigetta il ricorso di G...
Due bambini nati sordi ora sentono: il s...
ASUS ExpertBook PM3, la nuova linea di n...
Zero Motorcycles si sposta in Europa: l'...
Samsung ISOCELL HP5: il sensore da 200 m...
FSR 4 sorprende su Radeon RX 6000 e 7000...
Scendono ancora i prezzi dei TV LG OLED ...
Microsoft rinvia l'aumento del prezzo di...
Raccomandata DAZN, botta da 500 euro e s...
Dopo 14 anni di cammino, KurtJMac raggiu...
La AI Mode di Google arriva in Italia: c...
Apple umilia Windows: nel nuovo spot la ...
Le nuove memorie UFS 5.0 saranno velocis...
Friggitrice ad aria Cecotec da 6L a soli...
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: 11:28.


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