<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>C-Systems on The VikiD Truth</title><link>https://thevikidtruth.com/computing/category/c-systems/</link><description>Recent content in C-Systems on The VikiD Truth</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 22 Oct 2026 10:30:00 +0400</lastBuildDate><atom:link href="https://thevikidtruth.com/computing/category/c-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>objdump</title><link>https://thevikidtruth.com/computing/objdump/</link><pubDate>Sun, 04 Jun 2023 00:49:00 +0400</pubDate><guid>https://thevikidtruth.com/computing/objdump/</guid><description>&lt;h1 id="objdump"&gt;objdump&lt;/h1&gt;&#10;&lt;p&gt;The truth behind every program you run: &lt;strong&gt;it is just bytes, and those bytes are instructions you can read.&lt;/strong&gt; objdump is the tool that turns the bytes back into something a human can follow.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;objdump&lt;/strong&gt; is part of GNU binutils (along with &lt;code&gt;as&lt;/code&gt;, &lt;code&gt;ld&lt;/code&gt;, &lt;code&gt;nm&lt;/code&gt;, &lt;code&gt;readelf&lt;/code&gt;, &lt;code&gt;strings&lt;/code&gt;). Point it at an object file, executable or shared library and it will show you:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;the &lt;strong&gt;headers&lt;/strong&gt; – what kind of file, which CPU, where it starts;&lt;/li&gt;&#10;&lt;li&gt;the &lt;strong&gt;sections&lt;/strong&gt; – &lt;code&gt;.text&lt;/code&gt; (code), &lt;code&gt;.data&lt;/code&gt;, &lt;code&gt;.rodata&lt;/code&gt;, &lt;code&gt;.bss&lt;/code&gt; and friends;&lt;/li&gt;&#10;&lt;li&gt;the &lt;strong&gt;symbols&lt;/strong&gt; – names of functions and variables;&lt;/li&gt;&#10;&lt;li&gt;the &lt;strong&gt;disassembly&lt;/strong&gt; – machine code translated back into assembly mnemonics.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;LLVM ships a near drop-in twin, &lt;code&gt;llvm-objdump&lt;/code&gt;, with the same main flags.&lt;/p&gt;</description></item><item><title>Rust</title><link>https://thevikidtruth.com/computing/rust/</link><pubDate>Fri, 19 May 2023 23:18:13 +0400</pubDate><guid>https://thevikidtruth.com/computing/rust/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/odin/"&gt;Odin&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/rust/"&gt;Rust&lt;/a&gt;| &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windows/"&gt;Windows&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="rust"&gt;Rust&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth Rust is built on: &lt;strong&gt;most bugs that crash systems and open security holes are memory bugs, and a compiler can stop nearly all of them – if you&amp;rsquo;re willing to talk to it about ownership.&lt;/strong&gt; Rust is that conversation.&lt;/p&gt;</description></item><item><title>Odin</title><link>https://thevikidtruth.com/computing/odin/</link><pubDate>Mon, 05 Sep 2022 06:40:28 +0400</pubDate><guid>https://thevikidtruth.com/computing/odin/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; | | &lt;span class="missing-link"&gt;Quick Links&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/odin/"&gt;Odin&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="odin"&gt;Odin&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth Odin is built on: &lt;strong&gt;most programs are about transforming data, so the language should make data obvious and get out of the way.&lt;/strong&gt; No classes, no hidden allocations, no garbage collector – just a clean, modern take on what C was trying to be.&lt;/p&gt;</description></item><item><title>Zig Language</title><link>https://thevikidtruth.com/computing/ziglang/</link><pubDate>Tue, 30 Aug 2022 05:35:16 +0400</pubDate><guid>https://thevikidtruth.com/computing/ziglang/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; | | &lt;span class="missing-link"&gt;Quick Links&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; | &lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="zig-language"&gt;Zig Language&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth Zig is aimed at: &lt;strong&gt;C is still the lingua franca of systems, but its undefined behaviour, header files and build story are a tax everyone pays.&lt;/strong&gt; Zig keeps C&amp;rsquo;s honesty about memory and lays that tax down.&lt;/p&gt;</description></item><item><title>The V Programming Language</title><link>https://thevikidtruth.com/computing/vlang/</link><pubDate>Thu, 25 Aug 2022 02:35:41 +0400</pubDate><guid>https://thevikidtruth.com/computing/vlang/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; | | &lt;span class="missing-link"&gt;Quick Links&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; | &lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="the-v-programming-language"&gt;The V Programming Language&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about V: &lt;strong&gt;it wants to be the language you can learn in a weekend and ship with on Monday – Go&amp;rsquo;s simplicity, C&amp;rsquo;s speed, Rust&amp;rsquo;s safety goals, without the steepest parts of any of them.&lt;/strong&gt; Whether it fully delivers depends on what you need, but the ambition is clear and the tooling is pleasant.&lt;/p&gt;</description></item><item><title>Using the C Debugger</title><link>https://thevikidtruth.com/computing/gbddebugger/</link><pubDate>Fri, 27 Aug 2021 01:41:01 +0400</pubDate><guid>https://thevikidtruth.com/computing/gbddebugger/</guid><description>&lt;p&gt;&lt;span class="missing-link"&gt;Readinglist&lt;/span&gt; | &lt;span class="missing-link"&gt;Quick Links&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/odin/"&gt;Odin&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="using-the-c-debugger"&gt;Using the C Debugger&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="http://www.gdbtutorial.com" rel="noopener"&gt;The GBD Tutorial&lt;/a&gt;, &lt;a href="https://sourceware.org/gdb/current/onlinedocs/gdb/index.html#SEC_Contents" rel="noopener"&gt;Online Docs&lt;/a&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Compile your program with &amp;lsquo;-g&amp;rsquo;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;gcc -g main.c&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;run gbd&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;gdb a.out&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;exit gbd&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;(gdb) quit&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Common Commands&lt;/p&gt;</description></item><item><title>C Syntax</title><link>https://thevikidtruth.com/computing/csytanx/</link><pubDate>Fri, 27 Aug 2021 00:51:47 +0400</pubDate><guid>https://thevikidtruth.com/computing/csytanx/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;Pil Sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h1 id="c-syntax"&gt;C Syntax&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;IF&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;if (TEST) {&#10; CODE;&#10;} else if(TEST) {&#10; CODE;&#10;} else {&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;SWITCH&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;switch(OP) {&#10; case CONST:&#10; CODE;&#10; break;&#10; default:&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://en.cppreference.com/w/cpp/language/switch" rel="noopener"&gt;cppreference:switch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;WHILE&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;while(TEST) {&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;while(TEST){&#10; if(TEST2){&#10; continue;&#10; }&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;while(TEST){&#10; if(TEST2){&#10; break;&#10; }&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;DO&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;do {&#10; CODE;&#10;} while(TEST)&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;FOR&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;for (INIT; TEST; POST) {&#10; CODE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;ENUM&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; enum{CONST1, CONST2} NAME;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;GOTO&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;if(TEST){&#10; goto somewhere&#10;}&#10;somewhere:&#10; CODE;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;FUNCTION&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;TYPE NAME(ARG1, ARG2, ..) {&#10; CODE;&#10; return VALUE;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;TYPEDEF&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;typedef DEF ID;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;STRUCT&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;struct NAME {&#10; ELEMS;&#10;} [VAR_NAME];&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;typedef struct [STRUC_NAME] {&#10; ELEMS;&#10;} ID&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;UNION&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;union NAME {&#10; ELEMS;&#10;}[VAR_NAME]&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Operators</title><link>https://thevikidtruth.com/computing/cops/</link><pubDate>Fri, 27 Aug 2021 00:40:19 +0400</pubDate><guid>https://thevikidtruth.com/computing/cops/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/computingfreedom/"&gt;computingFreedom&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/bciyh/"&gt;Build&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;Pil Sources&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;storage_linkage&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h1 id="operators"&gt;Operators&lt;/h1&gt;&#10;&lt;p&gt;Operator tables for quick reference – arithmetic, assignment, bitwise, logical and relational. Pictures beat paragraphs when you just need to remember precedence. For deeper C notes see &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C Programming&lt;/a&gt; and &lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/arithmetic.png" alt="arithmetic"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/ass.png" alt="ass"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/bit.png" alt="bit"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/dat.png" alt="dat"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/log.png" alt="log"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/mis.png" alt="mis"&gt;&lt;/p&gt;&#10;&lt;p class="center"&gt;&lt;img src="https://thevikidtruth.com/assets/rel.png" alt="rel"&gt;&lt;/p&gt;</description></item><item><title>C Standard Library</title><link>https://thevikidtruth.com/computing/cstandardlibrary/</link><pubDate>Thu, 29 Jun 2017 02:39:49 +0400</pubDate><guid>https://thevikidtruth.com/computing/cstandardlibrary/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/about/caveatemptor/"&gt;Read This!&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/pilmachine/"&gt;Picolisp Machine&lt;/a&gt; | &lt;span class="missing-link"&gt;Pil Sources&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/piltutorials/"&gt;Pil Tutorials&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Picolisp By Example&lt;/span&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;span class="missing-link"&gt;BASH&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;span class="missing-link"&gt;Javascipt&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; |&lt;/p&gt;&#10;&lt;h2 id="c-standard-library"&gt;&lt;a href="https://thevikidtruth.com/computing/cstandardlibrary/"&gt;C Standard Library&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Here is the truth about the C standard library: &lt;strong&gt;it is a small, sharp toolkit – I/O, memory, strings, maths, time – that every hosted C program leans on, and its sharpest edges are still the string and unchecked I/O functions.&lt;/strong&gt; Knowing what is in ISO C versus what your OS adds is half of reading real code.&lt;/p&gt;</description></item><item><title>Assembly Languagess</title><link>https://thevikidtruth.com/computing/assemblylanguage/</link><pubDate>Wed, 30 Nov 2016 01:43:52 +0400</pubDate><guid>https://thevikidtruth.com/computing/assemblylanguage/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/algorithms/"&gt;Algorithms&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/apple/"&gt;Apple&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/assemblylanguage/"&gt;AssemblyLanguage&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;BASH&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vikidsbashcookbook/"&gt;Bash Cookbook&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/commonlisp/"&gt;CommonLisp&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/computersecurity/"&gt;Computer Security&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/cuissmalltalk/"&gt;CuisSmalltalk&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/databases/"&gt;Databases&lt;/a&gt; | &lt;span class="missing-link"&gt;Emacs&lt;/span&gt; | &lt;span class="missing-link"&gt;Exploitation&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/firewalls/"&gt;Firewalls&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/fortran/"&gt;Fortran&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/functional/"&gt;Functional Programming&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/git/"&gt;Git&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gnusmalltalk/"&gt;GNUSmalltalk&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/haskell/"&gt;Haskell&lt;/a&gt; | &lt;span class="missing-link"&gt;Social Engineering&lt;/span&gt; | &lt;span class="missing-link"&gt;Javascript&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/julia/"&gt;Julia&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Linux&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/metasploit/"&gt;Metasploit&lt;/a&gt; |&lt;a href="https://thevikidtruth.com/computing/machinelearning/"&gt;Machine Learning&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/networking/"&gt;Networking&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;span class="missing-link"&gt;Open Data Science&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/odin/"&gt;Odin&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/picolisp/"&gt;Picolisp&lt;/a&gt; | &lt;span class="missing-link"&gt;Pharo Smalltalk&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/purescript/"&gt;Purescript&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/python/"&gt;Python&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/racket/"&gt;Racket&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/scheme/"&gt;Scheme&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;Unity&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/vim/"&gt;vim&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/vlang/"&gt;V&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/webdevelopment/"&gt;Web Development&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/windowswsl/"&gt;Windows WSL&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/ziglang/"&gt;Zig&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="assembly-languagess"&gt;Assembly Languagess&lt;/h1&gt;&#10;&lt;h2 id="links-sources-and-reading-list"&gt;Links, Sources and Reading List&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://www.hep.wisc.edu/~pinghc/x86AssmTutorial.htm" rel="noopener"&gt;x86Asm Tutorial form wisc.edu&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.cs.virginia.edu/~evans/cs216/guides/x86.html" rel="noopener"&gt;x86 Guide from Virginia.edu&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://ftp.icm.edu.pl/packages/linux-uk/alpha/alpha/asm7.html" rel="noopener"&gt;Asm7&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://data.ceh.vn/Ebook/ebooks.shahed.biz/OS/LINUX/Springer-Verlag%20-%20Guide%20to%20Assembly%20Language%20Programming%20in%20Linux.pdf" rel="noopener"&gt; springer books pdf on Linux ASM&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://sovannarith.files.wordpress.com/2012/07/springer-guide-to-assembly-language-a-concise-introduction-2011.pdf" rel="noopener"&gt; spring books pdf on A Concise Guide to ASM&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.lxhp.in-berlin.de/lhplinks.html#lki" rel="noopener"&gt;Links to Linux &amp;amp; i586+ Assembly Programming &amp;amp; Doc&amp;rsquo;s&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.linuxlinks.com/excellent-free-tutorials-learn-assembly/" rel="noopener"&gt;Excellent Free Tutorials to Learn Assembly - LinuxLinks&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/META_II" rel="noopener"&gt;https://en.wikipedia.org/wiki/META_II&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="some-notes"&gt;Some Notes:&lt;/h2&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;ebp is known as the base pointer or the frame pointer.&#10;&#10; 1. On entry to your function, you push it (to save the value for the calling function).&#10;&#10; 2. Then, you copy esp, the stack pointer, into ebp, so that ebp now points to your function&amp;#39;s stack frame.&#10;&#10; 3. At the end of your function, you then pop ebp so that the calling function&amp;#39;s value is restored.&#10;&#10;For some clarification on exactly what is going on -&#10;the push instruction:&#10;&#10; 1. puts the value from the specified register (ebp in this case), onto the stack, and&#10; 2. decrements the stack pointer by the appropriate amount.&#10;&#10;The pop operation is the opposite -&#10;&#10; 1. it increments the stack pointer and takes a value from the stack and&#10; 2. puts it in the specified register.&#10;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Characters in C Programming</title><link>https://thevikidtruth.com/computing/cchars/</link><pubDate>Tue, 22 Nov 2016 22:10:31 +0400</pubDate><guid>https://thevikidtruth.com/computing/cchars/</guid><description>&lt;h1 id="characters-in-c-programming"&gt;Characters in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about characters in C: &lt;strong&gt;there are no characters – only small integers that we agree to &lt;em&gt;draw&lt;/em&gt; as letters.&lt;/strong&gt; &lt;code&gt;'A'&lt;/code&gt; is just the number 65 wearing a costume. Everything about text in C, from strings to Unicode, follows from that.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;The &lt;code&gt;char&lt;/code&gt; type is C&amp;rsquo;s smallest addressable unit: exactly one &lt;strong&gt;byte&lt;/strong&gt; (&lt;code&gt;sizeof(char)&lt;/code&gt; is always 1, and on every mainstream system a byte is 8 bits). A &lt;strong&gt;character constant&lt;/strong&gt; in single quotes, like &lt;code&gt;'A'&lt;/code&gt;, is a number – the character&amp;rsquo;s code in the execution character set, which today is essentially always &lt;strong&gt;ASCII&lt;/strong&gt; for the first 128 values.&lt;/p&gt;</description></item><item><title>Floating-point numbers in C Programming</title><link>https://thevikidtruth.com/computing/cfloats/</link><pubDate>Tue, 22 Nov 2016 22:09:53 +0400</pubDate><guid>https://thevikidtruth.com/computing/cfloats/</guid><description>&lt;h1 id="floating-point-numbers-in-c-programming"&gt;Floating-point numbers in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth that trips up every programmer once: &lt;strong&gt;&lt;code&gt;0.1 + 0.2&lt;/code&gt; is not &lt;code&gt;0.3&lt;/code&gt; on your computer&lt;/strong&gt; – not in C, not in Python, not in JavaScript. Floating-point numbers are not real numbers; they are a clever, finite approximation of them, and knowing where the approximation leaks is the whole skill.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;C has three floating-point types:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Type&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Usual format&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Significant decimal digits&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Range (approx.)&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;float&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IEEE 754 binary32&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~7&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mrow&gt;&lt;mo&gt;±&lt;/mo&gt;&lt;mn&gt;38&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt; 10^{\pm 38} &lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:0.8141em;"&gt;&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;0&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist" style="height:0.8141em;"&gt;&lt;span style="top:-3.063em;margin-right:0.05em;"&gt;&lt;span class="pstrut" style="height:2.7em;"&gt;&lt;/span&gt;&lt;span class="katex-sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mtight"&gt;±&lt;/span&gt;&lt;span class="mord mtight"&gt;38&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;double&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IEEE 754 binary64&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~15–16&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mrow&gt;&lt;mo&gt;±&lt;/mo&gt;&lt;mn&gt;308&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt; 10^{\pm 308} &lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class="katex-html" aria-hidden="true"&gt;&lt;span class="katex-base"&gt;&lt;span class="katex-strut" style="height:0.8141em;"&gt;&lt;/span&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;0&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist" style="height:0.8141em;"&gt;&lt;span style="top:-3.063em;margin-right:0.05em;"&gt;&lt;span class="pstrut" style="height:2.7em;"&gt;&lt;/span&gt;&lt;span class="katex-sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mtight"&gt;±&lt;/span&gt;&lt;span class="mord mtight"&gt;308&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;long double&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;80-bit x87 on x86 Linux, 128-bit on some ARM, same as &lt;code&gt;double&lt;/code&gt; on Windows/MSVC&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;18–33&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;varies&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;A floating-point number is stored like scientific notation in base 2: a &lt;strong&gt;sign&lt;/strong&gt;, an &lt;strong&gt;exponent&lt;/strong&gt;, and a &lt;strong&gt;significand&lt;/strong&gt; (mantissa).&lt;/p&gt;</description></item><item><title>Integers in C Programming</title><link>https://thevikidtruth.com/computing/cints/</link><pubDate>Tue, 22 Nov 2016 22:07:11 +0400</pubDate><guid>https://thevikidtruth.com/computing/cints/</guid><description>&lt;h1 id="integers-in-c-programming"&gt;Integers in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about integers in C: &lt;strong&gt;an &lt;code&gt;int&lt;/code&gt; is not a number in the mathematical sense – it&amp;rsquo;s a fixed number of bits, and the bits run out.&lt;/strong&gt; Almost every integer bug in C comes from forgetting that.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;C has a family of integer types that differ in &lt;strong&gt;size&lt;/strong&gt; (how many bits) and &lt;strong&gt;signedness&lt;/strong&gt; (whether they can be negative):&lt;/p&gt;</description></item><item><title>Strings in C Programming</title><link>https://thevikidtruth.com/computing/cstrings/</link><pubDate>Tue, 22 Nov 2016 21:52:26 +0400</pubDate><guid>https://thevikidtruth.com/computing/cstrings/</guid><description>&lt;h1 id="strings-in-c-programming"&gt;Strings in C Programming&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about strings in C: &lt;strong&gt;there is no string type – only arrays of &lt;code&gt;char&lt;/code&gt; that we agree end with a zero byte.&lt;/strong&gt; Every convenience and every CVE in C text handling follows from that convention.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;A &lt;strong&gt;C string&lt;/strong&gt; is a contiguous sequence of bytes ending in &lt;code&gt;'\0'&lt;/code&gt;. The type used to point at one is &lt;code&gt;char *&lt;/code&gt; (or &lt;code&gt;const char *&lt;/code&gt; when you promise not to modify). The standard library in &lt;code&gt;&amp;lt;string.h&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;stdio.h&amp;gt;&lt;/code&gt; provides the classic tools: &lt;code&gt;strlen&lt;/code&gt;, &lt;code&gt;strcpy&lt;/code&gt;, &lt;code&gt;strncpy&lt;/code&gt;, &lt;code&gt;strcmp&lt;/code&gt;, &lt;code&gt;strcat&lt;/code&gt;, &lt;code&gt;strchr&lt;/code&gt;, &lt;code&gt;strstr&lt;/code&gt;, &lt;code&gt;sprintf&lt;/code&gt;, &lt;code&gt;snprintf&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Literals</title><link>https://thevikidtruth.com/computing/literals/</link><pubDate>Mon, 21 Nov 2016 22:08:27 +0400</pubDate><guid>https://thevikidtruth.com/computing/literals/</guid><description>&lt;h1 id="literals"&gt;Literals&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about literals: &lt;strong&gt;they are how values show up in source code before they have a name.&lt;/strong&gt; Every language has them; C&amp;rsquo;s are small, strict and easy to get subtly wrong – especially once suffixes and escape sequences enter.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;A &lt;strong&gt;literal&lt;/strong&gt; is a notation that writes a value directly: &lt;code&gt;42&lt;/code&gt;, &lt;code&gt;3.14&lt;/code&gt;, &lt;code&gt;'a'&lt;/code&gt;, &lt;code&gt;&amp;quot;hello&amp;quot;&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;. In C (and C-like languages) the form of the literal decides its &lt;strong&gt;type&lt;/strong&gt; and how it&amp;rsquo;s stored. Related pages cover each family in depth: &lt;a href="https://thevikidtruth.com/computing/cints/"&gt;integers&lt;/a&gt;, &lt;a href="https://thevikidtruth.com/computing/cfloats/"&gt;floats&lt;/a&gt;, &lt;a href="https://thevikidtruth.com/computing/cchars/"&gt;characters&lt;/a&gt;, &lt;a href="https://thevikidtruth.com/computing/cstrings/"&gt;strings&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Objects in C</title><link>https://thevikidtruth.com/computing/object/</link><pubDate>Mon, 21 Nov 2016 09:49:09 +0400</pubDate><guid>https://thevikidtruth.com/computing/object/</guid><description>&lt;h1 id="objects-in-c"&gt;Objects in C&lt;/h1&gt;&#10;&lt;p&gt;Here is the truth about &amp;ldquo;objects&amp;rdquo;: &lt;strong&gt;the word means different things in different traditions, and fights about OOP usually start from mixed definitions.&lt;/strong&gt; In Smalltalk an object is a living entity that answers messages; in C++ it is a region of memory with a type; in JavaScript it is a mutable property bag with a prototype link.&lt;/p&gt;&#10;&lt;h3 id="what-it-is-in-plain-words"&gt;What it is, in plain words&lt;/h3&gt;&#10;&lt;p&gt;An &lt;strong&gt;object&lt;/strong&gt; packages &lt;strong&gt;state&lt;/strong&gt; (data) with &lt;strong&gt;behaviour&lt;/strong&gt; (code that uses that data). Languages implement that idea differently:&lt;/p&gt;</description></item><item><title>Identifiers in C</title><link>https://thevikidtruth.com/computing/identifier/</link><pubDate>Mon, 21 Nov 2016 05:40:07 +0400</pubDate><guid>https://thevikidtruth.com/computing/identifier/</guid><description>&lt;h1 id="identifiers-in-c"&gt;Identifiers in C&lt;/h1&gt;&#10;&lt;p&gt;&lt;span class="missing-link"&gt;Back to Tokens&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;Back to C Programming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;There are 4 types of Identifiers and each type gets its own namespace.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Label Names, are names that end in a &lt;strong&gt;colon, :&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Tags for structure, union, and enumeration types&lt;/li&gt;&#10;&lt;li&gt;Names of Structure or Union &lt;strong&gt;members&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Ordinary Identifiers (all others)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;struct tag { char tag; ...}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here you can see we have created a structure with the tag &lt;strong&gt;tag&lt;/strong&gt;, which also has&#10;a member &lt;strong&gt;tag&lt;/strong&gt; of the type char.&lt;/p&gt;</description></item><item><title>The Compiler</title><link>https://thevikidtruth.com/computing/thecompiler/</link><pubDate>Mon, 21 Nov 2016 04:06:50 +0400</pubDate><guid>https://thevikidtruth.com/computing/thecompiler/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;Back to C programming&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="the-compiler"&gt;The Compiler&lt;/h1&gt;&#10;&lt;p&gt;The C compiler translates &lt;strong&gt;C-source-code&lt;/strong&gt; into &lt;strong&gt;machine code&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The Compiler translates each &lt;em&gt;source file&lt;/em&gt; into an &lt;em&gt;object file&lt;/em&gt; also known as&#10;a &lt;strong&gt;module&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;If there are more that 1 &lt;em&gt;object files&lt;/em&gt;, these are then &lt;em&gt;linked&lt;/em&gt; by the&#10;&lt;strong&gt;linker&lt;/strong&gt; which outputs a &lt;strong&gt;executable&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The &lt;strong&gt;executable&lt;/strong&gt; is what we normally run as a program in the system.&lt;/p&gt;&#10;&lt;h2 id="the-translation-phases"&gt;The Translation Phases&lt;/h2&gt;&#10;&lt;p&gt;The compilation takes place in 8 steps.&lt;/p&gt;</description></item><item><title>C Programming</title><link>https://thevikidtruth.com/computing/cprogramming/</link><pubDate>Mon, 21 Nov 2016 03:47:35 +0400</pubDate><guid>https://thevikidtruth.com/computing/cprogramming/</guid><description>&lt;p&gt;&lt;a href="https://thevikidtruth.com/computing/cprogramming/"&gt;C-Programmming&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/thecompiler/"&gt;The Compiler&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/identifier/"&gt;Identifiers&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/literals/"&gt;Literals&lt;/a&gt; |&#10;&lt;span class="missing-link"&gt;linkage&lt;/span&gt; | &lt;a href="https://thevikidtruth.com/computing/cops/"&gt;C Operators&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/csytanx/"&gt;C Syntax Structures&lt;/a&gt; | &lt;a href="https://thevikidtruth.com/computing/gbddebugger/"&gt;GBD Debugger&lt;/a&gt; |&#10;&lt;a href="https://thevikidtruth.com/computing/os/"&gt;Operating Systems&lt;/a&gt; | &lt;a href="https://devdocs.io" rel="noopener"&gt;devdocs.io&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="c-programming"&gt;C Programming&lt;/h1&gt;&#10;&lt;p class="right"&gt;&lt;img src="https://thevikidtruth.com/assets/cprog.jpg" alt="cprog"&gt;&lt;/p&gt;&#10;&lt;p&gt;The C programming language is at the heart of GNU/Linux - it is the programming language&#10;most of the Linux Kernel and GNU tools is written in.&lt;/p&gt;&#10;&lt;p&gt;There are many outstanding books and online resources where you can learn C and as&#10;such this site will not try and duplicate these efforts.&lt;/p&gt;</description></item></channel></rss>