È necessario prendere obj i nomi dei file di eseguibile (che uno è attualmente in esecuzione) in fase di runtime a livello di codice in VC ++?
-
24-09-2019 - |
Domanda
Supponiamo che io abbia un progetto di VC ++ contenente il numero di file sorgente (cpp) (ad esempio 5), si genererà 5 obj file (corrispondente ai miei file cpp non tutti gli strati del kernel e sistema operativo, tra cui file obj).
Il mio progetto prevede xyz_1.cpp, xyz_2.cpp, xyz_3.cpp, xyz_4.cpp, e la volontà corrisponde con i file 4 rispettivi .objs.
Come posso ottenere i nomi di questi 4 obj file in fase di esecuzione? Su runtime ho bisogno di controllare il numero di file obj ci sono ed i loro nomi.
Non ho bisogno di tutto il kernel del sistema operativo o di livello obj, ho solo bisogno .obj è della mia cpp.
Saluti,
Usman
Soluzione
I nomi dei file .obj
non sono standard. Alcuni compilatori fieno creare quelli che corrispondono ai file cpp, altri possono creare quelle con nomi casuali (VC in realtà fa che quando configurato con generazione di collegamento codice di tempo), mentre altri possono ignorare completamente questa fase.
Quindi non c'è ben definita risposta alla tua domanda. è compilatore e compilazione bandiere dipendente.
Inoltre, non v'è alcun modo per ottenere queste informazioni, che io sappia.
Altri suggerimenti
Sembra che è necessario utilizzare Microsoft dbghelp.dll biblioteca e la loro Debug Interface Access SDK .