Posted in
4
12:25 pm, December 12, 2021
Hello world in C and seeing what it is actually doing
One of the most simple C applications, how to compile it and how to objdump it.
C
#include
int main()
{
int i;
for(i=0;i < 10; i++)
{
puts("Hello Mac\n");
}
return 0;
}
This will return the string Hello Mac
10 times.
lets compile and run it
gcc firstprog.c
ls -l
./a.out
now see what its really doing
objdump -D a.out | grep -A20 main.:
Random Fact about 32 vs 64 bit processors.
32-bit processors have 232 (or 4,294,967,296) possible addresses
64-bit ones have 264 (1.84467441 x 1019) possible addresses
Each byte is shown in hexadecimal notation which is a base 16 numbering system, rather than the normal system we are used to which is base-10. Hex uses 0 - 9 and also A - F for 10 - 15.
Show what it would look like with intel formatting
objdump -M intel -D a.out | grep -A20 main.:
Note this will throw an error on arm based mac's, for obvious reasons.
objdump: error: 'a.out': Unrecognized disassembler option: intel
.
View Statistics
This Week
0
This Month
0
This Year
0
Add Comment
Other Items in C
Related Search Terms
Other Categories in Code
c testing apache apps asp bat bootstrap bootstrap templates core css css grid design elements fancybox fonts foundation framework gimp git html icons ideas images javascript jquery js linux mac nginx node php php functions php simple html dom pi400 python react sections site bugs site documentation sql sqlite sublime svg templates tools virtual box webdev windows wordpress