# Do you have to know the PARTICULAR computers hardware for C programming?

**URL:** <https://boards.straightdope.com/t/do-you-have-to-know-the-particular-computers-hardware-for-c-programming/1026844>\
**Category:** Factual Questions\
**Created:** [January 20, 2026, 6:02am UTC](https://boards.straightdope.com/t/do-you-have-to-know-the-particular-computers-hardware-for-c-programming/1026844 "2026-01-20T06:02:42Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [January 20, 2026, 8:40pm UTC](https://boards.straightdope.com/t/do-you-have-to-know-the-particular-computers-hardware-for-c-programming/1026844/16 "2026-01-20T20:40:44Z")

</div>

The memory allocation issue has been thoroughly addressed.

In the context of game dev, though (based on [OP’s other post](https://boards.straightdope.com/t/is-the-single-best-language-for-a-career-in-game-programming-c/1026782)), you might also have to target specific hardware for low-level optimizations. Examples include graphics cards and their shaders, or at least a specific API level that they support (DirectX/OpenGL/Vulkan/etc.). You might also have to deal with sound card differences or CPU quirks, especially if you want to target older CPUs and their extended instruction sets.

For example, here’s the [C source code to Quake 3 Arena](https://github.com/id-Software/Quake-III-Arena/tree/master), with some platform-specific optimizations for [Win2k gamma](https://github.com/id-Software/Quake-III-Arena/blob/dbe4ddb10315479fc00086f08e25d968b4b43c49/code/win32/win_gamma.c#L151-L168) and [Linux netcode](https://github.com/id-Software/Quake-III-Arena/tree/dbe4ddb10315479fc00086f08e25d968b4b43c49/code/unix/LinuxSupport)

---

_[View the full topic](https://boards.straightdope.com/t/do-you-have-to-know-the-particular-computers-hardware-for-c-programming/1026844)._
