Are they normal?
/* hellofirst.cpp */
#include <iostream>
using namespace std;
void hellofirst() {
cout << "The first hello\n";
}
/*hellosecond.cpp*/
#include <iostream>
using namespace std;
void hellosecond() {
cout << "The second hello\n";
}
/* twohellos.cpp */
void hellofirst (void);
void hellosecond (void);
int main() {
hellofirst();
hellosecond();
return 0;
}
$ ls
hellofirst.cpp hellosecond.cpp twohellos.cpp
$ clang++ -c hellofirst.cpp hellosecond.cpp
$ ls
hellofirst.cpp hellofirst.o hellosecond.cpp hellosecond.o twohellos.cpp
$ cl -c hellofirst.cpp hellosecond.cpp
$ ls
hellofirst.cpp hellofirst.o hellofirst.obj hellosecond.cpp hellosecond.o hellosecond.obj twohellos.cpp