Wpis z mikrobloga

Mireczki podzielę się z Wami takim małym a przydatnym trickiem kucowniczym o którym jak mawiał mój mentor i autorytet moralny Klocuch12:

Mało ludzi wie, a dużo ludzi nie wie


Jak kiedyś będziecie potrzebowali testowej tablicy na przykład z przebiegiem wartości napięcia do liczenia wartości THD, sygnałem audio, czy co tam innego potrzebujecie to zapewne sobie taki przebieg wygenerujecie w Matlabie/Scilabie/Octave/Excelu i tera tak...

1. Wygenerujcie sobie to do pliku .csv rozdzielając wartości przecinkami:

0.95, 1.15, 1.86, 2.55 .... itd -> do pliku: prond.csv


2. Deklarujecie tablicę, otwieracie nawiasy, dajecie w środku #include nazwa_pliku i MYK KURŁA - nie musicie kopiować danych jak podludzie w dodatku spowalniając IDE kolorowaniem składni jebitnego wektora i zaciemniać kodu

const double current[] = {
#include "prond.csv"
};

#protip #ciekawostki #programowanie #jezykc #cplusplus #mikrokontrolery #arduino #esp8266 #esp32 #qbadev
QBA_ - Mireczki podzielę się z Wami takim małym a przydatnym trickiem kucowniczym o k...

źródło: comment_1599810823kYLaxF3dZVien7wr0RVggB.jpg

Pobierz
  • 17
via Wykop Mobilny (Android)
  • 2
@QBA__: Zostanie zadeklarowana raz na plik .c/jednostkę transakcyjną, z tego co pamiętam gdyby to nie było const i byś coś tam wpisał, to okazałoby się że w każdym pliku masz osobne dane. Żeby mieć to w wykonywalnym pliku raz, w headerze robisz deklaracje z extern, a to co tutaj w jednym z plików c
@QBA__: cieszymy się, że widzisz, iż jest to zła praktyka. ( ͡° ͜ʖ ͡°)
plik a.c:

#include "c.h"
plik b.c:

#include "c.h"
plik c.h:

/* header guard */
int var;

w której jednostce translacji będzie zmienna var?
@CorruptedCore: to wszystko zależy od optymalizacji. albo podmieni consta na wartość bezpośrednią i nie ma problemu, albo będzie użwać zmiennej i wtedy masz problem.