Te twoje wyniki są z czapy:
Kopiuj
/tmp $ diff -up a.cc b.cc
--- a.cc 2022-02-10 20:04:09.907535697 +0100
+++ b.cc 2022-02-10 20:04:21.379455761 +0100
@@ -14,7 +14,7 @@ int main()
cout << "Podaj wyraz: ";
cin >> w;
- for (i = 0, len = w.size(); i < len; i++)
+ for (i = 0, len = w.size(); i < len; ++i)
if (strchr(vowels, w[i]) != nullptr)
cout << int(w[i]) << ' ';
cout << endl;
/tmp [1] $ cat a.cc | clang++ -x c++ - -o a
/tmp $ cat b.cc | clang++ -x c++ - -o b
/tmp $ cmp a b
/tmp $ echo $status
0
Czyli twoja różnica z wielkości sekcji data wynikała z tego, że twoje pliki się różnie nazywały, a to jest umieszczane w generowanym pliku.
Edit: albo już w sumie nie wiem:
Kopiuj
/tmp $ mv a.cc vowels.cc
/tmp $ mv b.cc vowels2.cc
/tmp $ clang++ -o vowels vowels.cc
/tmp $ clang++ -o vowels2 vowels2.cc
/tmp $ clang++ --version
clang version 12.0.1 (Fedora 12.0.1-1.fc34)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
/tmp $ size vowels vowels2
text data bss dec hex filename
3817 708 632 5157 1425 vowels
3817 708 632 5157 1425 vowels2
Tak czy inaczej, mocno wątpię, że to przez różnicę i++
a ++i
.