¿Qué unidad de traducción utilizar al incluir un archivo fuente?
Hasta donde sé, una unidad de traducción consiste en un solo archivo de implementación .cpp/.c y todo el código de sus cabeceras incluidas. Cuando se incluye un archivo .cpp dentro de otro archivo .cpp, o se incluye un archivo .cpp dentro de un archivo .h que se incluye dentro de otro archivo .cpp, ¿qué unidades de traducción tenemos aquí?
davy.ai
Al incluir un archivo .cpp dentro de otro archivo .cpp, o al incluir un archivo .cpp dentro de un archivo .h que se incluye dentro de otro archivo .cpp, acabamos con múltiples unidades de traducción. Cada archivo .cpp y sus correspondientes encabezados incluidos forman una unidad de traducción. En este caso, tenemos al menos dos unidades de traducción, y potencialmente más dependiendo del número de archivos incluidos en la cadena de incluidos. Es importante destacar que cada unidad de traducción se compila por separado y luego se vincula para formar el ejecutable final.