Lavoro per un'azienda che ha iniziato a integrare sistemi informatici incorporati nei nostri prodotti che produciamo. Abbiamo una gamma piuttosto ampia di prodotti e sono distribuiti in tutto il mondo. Inoltre, abbiamo progettato alcune schede integrate che possono servire a molteplici scopi a seconda del firmware che è stato inviato …
Diciamo che voglio avere diversi tipi di messaggi di output nel mio codice. Uno di questi è DEBUG, che viene stampato solo, quando il codice viene compilato in modalità Debug. Di solito dovrei scrivere qualcosa del genere #ifdef DEBUG std::cout << "Debug message" << std::endl; #endif che è piuttosto ingombrante …
Ho un forte background Java / Groovy e sono stato assegnato a un team che mantiene una base di codice C abbastanza grande per un software amministrativo. Alcuni punti critici, come la gestione dei BLOB nel database o la generazione di report in PDF ed Excel sono stati esternalizzati al …
Uso C e structs dove una struttura può avere membri ma non funzioni. Supponiamo per semplicità che voglio creare una struttura per le stringhe che ho nominato stre voglio essere in grado di fare str.replace(int i, char c)dov'è il'indice della stringa ed cè il carattere che sostituisce il carattere in …
Quando la programmazione in CI ha trovato inestimabile impacchettare le strutture usando l' __attribute__((__packed__))attributo GCCs in modo da poter facilmente convertire una porzione strutturata di memoria volatile in una matrice di byte da trasmettere su un bus, salvata in memoria o applicata a un blocco di registri. Le strutture impacchettate …
Lo standard C11 afferma che gli array, sia di dimensioni che di lunghezza variabile "devono avere un valore maggiore di zero". Qual è la giustificazione per non consentire una lunghezza di 0? Soprattutto per array di lunghezza variabile ha perfettamente senso avere una dimensione di zero ogni tanto. È anche …
Leggendo queste due domande , vedo che comprendere il comportamento del caching della CPU può essere importante quando si ha a che fare con grandi quantità di dati in memoria. Vorrei capire come funziona la memorizzazione nella cache per aggiungere un altro strumento al mio toolbox di ottimizzazione. Quali sono …
Ultimamente ho avuto difficoltà a capire quale sia la giusta quantità di controllo e quali siano i metodi corretti. Ho alcune domande al riguardo: Qual è il modo corretto di verificare la presenza di errori (input errato, stati errati, ecc.)? È meglio verificare esplicitamente la presenza di errori o utilizzare …
GCC è il compilatore C. Glibc è la libreria C. Tuttavia, non è una necessità assoluta per un compilatore e la libreria standard raggruppati insieme come implementazione C? Ad esempio, la libreria C contiene ABI e compilatore specifico cose del genere <limits.h>, <stdint.h>ecc, che differisce tra compilatori e API. E …
Il mio istruttore di classe a microprocessore ci ha dato un incarico e ha detto: "Scrivi un assemblatore in C." - Mio amato professore Quindi mi è sembrato un po 'illogico. Se non sbaglio Assembly Language è il primo passo dal codice macchina al viaggio di lingue di livello superiore. …
Stavo guardando questo video sui valori massimo e minimo di numeri interi con segno. Prendi un esempio di un valore con segno positivo - 0000 0001 Il primo bit indica che il numero è positivo e gli ultimi 7 bit sono il numero stesso. Quindi è facilmente interpretabile come +1. …
Chiuso. Questa domanda è fuori tema . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Software Engineering Stack Exchange. Chiuso 4 anni fa . Durante la codifica di un grande progetto in CI si è verificato un problema. Se …
Faccio fatica a trovare consigli pragmatici nel mondo reale sulle convenzioni di denominazione delle funzioni per un progetto di biblioteca C di medie dimensioni. Il mio progetto di libreria è diviso in alcuni moduli e sottomoduli con le loro intestazioni e segue vagamente uno stile OO (tutte le funzioni assumono …
Sto usando il seguente codice nella mia applicazione e funziona bene. Ma mi chiedo se è meglio farlo con malloc o lasciarlo così com'è? function (int len) { char result [len] = some chars; send result over network }
In questo momento sto lavorando con sistemi embedded e sto cercando di capire come implementare le stringhe su un microprocessore senza sistema operativo. Finora quello che sto facendo è semplicemente usare l'idea di avere dei puntatori a caratteri terminati NULL e trattarli come stringhe in cui il NULL indica la …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.