Siempre debe poder agregar cualquier tipo de datos a su código. Simplemente crea una matriz de texto que rellenas con el código C.
char source_code[9189] = {'m', 'a', 'i', 'n', '(', ')', 13, 10, '{' ,'}', 0};
¡Definitivamente querrás escribir un programa para crear la matriz a partir de un archivo de texto!
Personalmente creo que esta es una mala manera de hacerlo. ¡Organizarse! Incluya una referencia de código que incluya el número de versión, que hace referencia al código en su PC . Incluso puede agregar la posibilidad de leer la referencia en el sistema. A menudo incluyo un código que genera la identificación del controlador a través de UART cuando un determinado pin de prueba se baja, como lo haría en un bloque de prueba. El bloque de prueba podría mostrarlo como, por ejemplo,
ID del programa: 10121
Revisión: 02
Esto debería ser suficiente para encontrar el código fuente en tu PC.
editar
Si la idea es dejar que el código viaje con el controlador para que pueda pasarlo a otras PC, entonces también usaría la idea de Fake: en lugar de simplemente enviar la idea del programa, puede purgar la fuente completa de esa manera.
Tenga en cuenta que todavía no estoy completamente convencido. Excepto por los programas más simples, el diseño de un programa es más que solo el código fuente. ¿Qué pasa con los diagramas de flujo u otros documentos de diseño?