[elektro] Fw: C18 előfordító

Ábrahám Gábor agabor2 at freemail.hu
Tue Jun 16 19:53:46 CEST 2015


A saját függvény, pont olyan, mint a gyári.
Láttam én már gyári függvényben is hibát, most levelezünk a Xilinx-el éppen.
Ha egy összeadást végző függvényt nevezne log(x)-nek, akkor lenne keveredés.

Különböző platformokhoz, különböző könyvtárat kell linkelni.
Ha rajtam múlik, én a hardware különbségit is így tüntetem el.
Miért kellene már 20 felé ágazva beolvasni egy karaktert ahelyett,
hogy lenne egyetlen mondjuk readchar() függvény, és ez különböző
eszközökön máshogy megírva?

Az eredeti felvetése én azt szoktam csinálni, hogy
írok egy programot, ami egy konstansokból álló C függvényt állít elő.
Hogy tömböket, vagy #define-t azt az adott feladat dönti el.
A program hívása meg belekerül a make-be, fordítási időben fut.

Utoljára egy Excel táblából generáltam .h file-t úgy, hogy a
make elindította az Excelt, a megadott táblával,
abban rögtön lefutott egy VB macro, ami megcsinálta a file-t, és terminálta 
is.
Az Excel egy kártyán lévő közel 100 db táp adatait,
szélsőértékeit tartalmazza, a program meg a felügyelő processzoron fut,
ami a mért áram feszültség és hőmérséklet adatokat hasonlítja össze ezekkel.

(A BMC egy Spartan-6 FPGA-ban megvalósított MicroBlaze soft processor,
amin FreeRTOS fut. Korábban soha nem dolgoztam ilyennel, bár volt
egy bágyadt PicoBlaze kísérletem. Nagyon megtetszett a hardware és az
operációs rendszer is. Meggondolandó alternatívája egy kontrollernek,
ha sok különböző periféria kell, vagy úgyis van FPGA.
Ebben az esetben 6 db I2c, 2 db UART, Ethernet, PCIe, SPI, LPC, PECI, sok 
GPIO, stb.)

Gábor

----- Eredeti üzenet ----- 
From: Balla zoltán
Sent: Tuesday, June 16, 2015 3:03 PM
To: elektro at tesla.hu
Subject: Re: [elektro] Fw: C18 előfordító

Feladó: "Lajos Rancz" <lajos.rancz at gmail.com>
> Mert nem akarod teleírni a kódodat ilyenekkel, hogy
> #ifdef PLATFORM_WIN
>    log(x);
> #elif PLATFORM_LINUX
> ....
> #endif
>
Pedig szerintem egyértelmű, hogy ezt kell tenni.... Így mindenki számára
világos, hogy oka van az eltérésnek, nem kell azon fogni a fejünket, hogy
miért nem működuk úgy ahogy kellene a tesztelt gyári függvény..., csak mert
valakinek előttünk eszébe jutott átírni azt....
Ezt a feltételes fordítást kiteszed egy headerbe, ahol verziótól függően a
megfelelő gyári/saját függvényt helyettesít be, míg a programban mindenhol
egyszerűen csak az alternatív névre hivatkozol. Minden elegáns és
átlátható...

Zoli

-----------------------------------------
          elektro[-flame|-etc]

-----
A(z)  üzenetben nem található vírus.
Ellenőrizte: AVG - www.avg.com
Verzió: 2015.0.5961 / Vírus adatbázis: 4365/10026 - Kiadás dátuma: 
2015.06.16. 



More information about the Elektro mailing list