Компилятор и компоновщик обычно определяются расширением файла, если не указано иное.Таким образом, до тех пор, пока с окончаниями файлов все в порядке, ваш код компилируется и связывается с правильным компилятором.
В дополнение к этому, не забудьте сделать правильные объявления extern C, если вы смешиваете C и C ++.