Posted in C
5036
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
111
This Month
446
This Year
669

No Items Found.

Add Comment
Type in a Nick Name here
 
Search Code
Search Code by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

Subscribe to weekly updates about things i have added to the site or thought interesting during the last week.

You could also follow me on twitter or not... does anyone even use twitter anymore?

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote

james clear
Random CSS Property

@charset

The @charset CSS at-rule specifies the character encoding used in the style sheet. It must be the first element in the style sheet and not be preceded by any character; as it is not a nested statement, it cannot be used inside conditional group at-rules. If several @charset at-rules are defined, only the first one is used, and it cannot be used inside a style attribute on an HTML element or inside the <style> element where the character set of the HTML page is relevant.
@charset css reference