Узелок на память
Jun. 24th, 2014 04:58 pmБлин, есть у меня беда. Вот есть идея, горишь, горишь ей. Можно пол года гореть. А потом вдруг бац, депресняк, и уже ничего не хочется. Так же и с вафлярадио. Горел, делал, паял, ночами не спал и вдруг стало не интересно.

Это просто форменное безобразие. Обязуюсь написать хотя бы статью про работу с этими кошерными дисплеями.
Ребят, вопрос по си и мейкфайлам.
Как сделать так, чтобы был единый сишник, в нём были бы макроопределения, с уловной компиляцией кода, а на выходе было два (или более) разных бинарника, с условной компиляцией?
У меня просто тестовый софт, который в сущности отличается только адресами, а логика работы остаётся той же. Чтобы не плодить миллион программ, как это сделать?

Это просто форменное безобразие. Обязуюсь написать хотя бы статью про работу с этими кошерными дисплеями.
Как сделать так, чтобы был единый сишник, в нём были бы макроопределения, с уловной компиляцией кода, а на выходе было два (или более) разных бинарника, с условной компиляцией?
У меня просто тестовый софт, который в сущности отличается только адресами, а логика работы остаётся той же. Чтобы не плодить миллион программ, как это сделать?
no subject
Date: 2014-06-24 01:11 pm (UTC)Да хоть 10! Пиши нужное количество целей и компиляй себе. Вот тебе пример:
Файл 1.c:
#include <stdio.h> int main(int c, char **v){ printf("Value of macro: %d\n", TESTVAR); return 0; }Makefile:
Компиляем и запускаем:
P.S. А забиванием и сам страдаю: мелкой уже четвертый месяц никак "чудо-барабан" не сделаю (все компоненты уже есть, надо только собрать и запрограммировать микроконтроллер).
no subject
Date: 2014-06-24 01:27 pm (UTC)no subject
Date: 2014-06-24 01:19 pm (UTC)$cat Makefile
...
release: main.c
$(CC) $(CFLAGS) main.c
...
debug:
$(CC) $(CFLAGS) -DDEBUG main.c
...
$grep -A 3 DEBUG main.c
#ifdef DEBUG
fprintf(stderr, "Debug: %s", strdbg );
#elseif
...
$make debug
no subject
Date: 2014-06-24 01:27 pm (UTC)no subject
Date: 2014-06-25 11:08 am (UTC)Но после того как сосредоточусь, выхожу на финальное устройство в течении пары дней. Максимум в неделю.
no subject
Date: 2014-07-01 09:38 pm (UTC)no subject
Date: 2014-07-02 06:14 am (UTC)