Skip to main content

Questions tagged [c]

C is a general-purpose computer programming language used for operating systems, games and other high performance work.

1vote
3answers
321views

Is Feeding a Watchdog Timer from an Interrupt Service Routine a Bad Practice?

In an embedded system, I require a watchdog to be able to pass ESD qualifications. Having no experience with watchdogs, I went through this Memfault article. I liked the events "registration"...
DarkFranX's user avatar
2votes
1answer
148views

What architectural connector is a file descriptor?

The software architecture literature has lots of information on software connectors as in component and connector views of architecture. What kind of connector is a file descriptor? I noticed in the ...
Passeris's user avatar
6votes
4answers
579views

Why is there (practically) no 6-byte integer in common usage?

In Postgres, it used to be quite common to use a 4-byte integer auto field for primary keys, until it started becomming somewhat common to run into the 2147483647 limit of 4-byte integers. Now, it's ...
orokusaki's user avatar
1vote
3answers
259views

Get call graph / path of C with function pointer

I have a C codebase with function calls made through function pointers. I tried using LLVM AST and IR with Python to generate a function call graph, but handling the function pointer calls requires ...
Sam's user avatar
  • 165
0votes
2answers
278views

What should I consider when determining what `ALLOC_MAX` should be in this type of I/O loop?

For, e.g. determining an amount of memory that is safe to allocate for processing file or device with this type of I/O loop: HANDLE hFile /* = file open with GENERIC_READ */; LARGE_INTEGER liSize; ...
Govind Parmar's user avatar
1vote
5answers
319views

Anti-pattern? Double header and exposed implementation detail

Consider that I've implemented SHA-256 hashing in C as incrementally updated IUF (init-update-finalize) working context and 3 subroutines. To use it in free-standing environment, or to efficiently use ...
DannyNiu's user avatar
6votes
2answers
648views

When the stack frames become computationally expensive

I've been experimenting with different data structures and algorithms in Python, Java and C to see in what circumstances function/method inlining could bring meaningful gains in terms of the execution ...
ipastusi's user avatar
2votes
1answer
167views

C++: Good approach to handle libxml2 resource management in a wrapper

I try to write a C++ wrapper to a well-known C library, libxml2. In libxml2, an xmlDocPtr represent an XML document and xmlNodePtr represents a node. An xmlDocPtr contains a root xmlNodePtr and every ...
Zoltán Várnagy's user avatar
2votes
3answers
228views

How to decouple spagheti code for unit tests [duplicate]

A little background on the project: we as a company receive a spaghetti source code, and into that we add even more spaghetti code. So with that I want to say that complete restructuring and ...
Tomáš Viks Pilný's user avatar
0votes
4answers
2kviews

Is it a bad practice to return an enum without an enum return type?

I'm specifically asking about C. Example: enum numbers { EVEN, ODD }; int isFiveEvenOrOdd(void) { if (5 % 2 == ODD) return ODD; else return EVEN; } int main(void) { printf("%...
OnyxWingman's user avatar
4votes
4answers
1kviews

Is updating a macro value in the Xcode preprocessor's macros violating the open–closed principle?

For example, for some Xcode projects, if I have some places that defines a number at some .cpp files: const int PAGE_MAX=5; and a new requirement comes that needs to change PAGE_MAX, I need to modify ...
wcminipgasker2023's user avatar
2votes
4answers
417views

How would I go about writing my own implementation of Win32 functions?

So I am currently coding a C program for Windows and come across a little bit of a problem. I've been compiling using the mingw-w64 toolchain. In my program, I am attempting to remove as many ...
baron's user avatar
0votes
1answer
184views

Elegant way in C to store many parameters with default value and current value in embedded flash

I'm programming an embedded system that has a number of user configurable parameters, which are stored in flash memory. I have to store a default value for each parameter as well as the user settings. ...
jusaca's user avatar
3votes
1answer
280views

C++ vs C console output idioms

I'm struggling to understand pros and cons of the C++ and C approaches to console output. C++ uses the stream approach with concatenation of operator<<, while for "C approach" I mean a ...
Nicola Mori's user avatar
0votes
2answers
186views

How might encapsulated source be broken into into multiple files?

I have a project where there is a primary, high-level, opaque struct with many functions that operate on it. Maybe I am simulating a CPU. How might the corresponding source code be organized? One way ...
Ana Nimbus's user avatar

153050per page
close