#pragma once // No need to include lib2.h or lib3.h here unless their types/functions // are part of lib1.h's public interface. For simple calls in lib1.c, // including in lib1.c is sufficient. #if defined(__cplusplus) extern "C" { #endif void lib1_function(unsigned int i); #if defined(__cplusplus) } #endif