
Hebang
(usa Arch Linux)
Enviado em 02/04/2011 - 02:58h
Olá pessoal!
Estou tendo problemas com o uso de macros em C.
Eu quero fazer um include condicional na hora de compilar o código.
Tipo: se na linha do GCC tiver a macro -DOP1, eu dou include no "op1.h", se tiver -DOP2 no "op2.h", se não tiver nenhuma dá include no "no_op.h".
O que fiz foi o seguinte:
#ifdef OP1
#include "op1.h"
#elif OP2
#include "op2.h"
#else
#include "no_op.h"
#endif
O fato eh que "op1.h", "op2.h" e "no_op.h" possuem o mesmo método, chamado "teste" por exemplo.
Minha idéia e rodar o método "teste" do arquivo especifico que dou include.
Porém, quando compilo o código, o gcc acusa que "teste" não foi definida, como se nenhum dos três arquivo tivesse sido importado.
Alguém tem alguma idéia?
Haveria uma forma de fazer esse include condicional em tempo de execucão? Tipo, dependendo do valor de um parametro de entrada do programa, ele da include em um determinado arquivo e não nos outros?
Muito obrigado pela atencão de todos!