Sono colpito con soggezione da risposta Christoph sopra.
Quindi, in questo caso non è necessario eseguire nulla, in cui gcc ha una certa conoscenza delle funzioni matematiche.Ma se hai una funzione (magari implementata da te) che non può essere calcolata dal tuo compilatore C o se il tuo compilatore C non è così intelligente (o hai bisogno di riempire strutture dati complicate o qualche altra ragione) puoi usare un linguaggio di livello superiore agire come macroprocessore. In passato, ho usato eRuby per questo scopo, ma (ePerl dovrebbe funzionare molto bene anche ed è un altro evidente prontamente disponibili e la scelta più o meno confortevole.
È possibile specificare fare le regole per trasformare i file con estensione .eruby
(o .eperl
o qualsiasi altra cosa) per i file con tale estensione spogliato in modo che, ad esempio, se si scrive i file module.c.eruby
o module.h.eruby
poi make
sa automaticamente come generare module.c
o module.h
, rispettivamente, e li tiene up-to-date. Nella vostra regola di make puoi facilmente aggiungere una generazione di commenti che avverte la modifica diretta del file:
Se si utilizza Windows o qualcosa di simile, non sono in grado di spiegare come aggiungere supporto per l'esecuzione automatica di questa trasformazione per il proprio IDE preferito. Ma credo che dovrebbe essere possibile, oppure potresti semplicemente eseguire make
al di fuori del tuo IDE ogni volta che devi modificare quei file .eruby
(o qualsiasi altra cosa).
A proposito, ho visto che con righe di codice incredibilmente piccole ho visto eLua implementato per utilizzare Lua come linguaggio macro. Ovviamente dovrebbe funzionare anche un altro linguaggio di scripting con supporto per le espressioni regolari e regole di layout flessibili (ma lo standard Python è malsuited per questo scopo a causa delle rigide regole dello spazio bianco).
In realtà l'intera azienda y1 deve essere ottimizzata (da solo) poiché cos (PI/2) = 0 ... –