Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- // функции реализованные где-то снаружи
- #ifdef __SUM__
- int sum(int a, int b) { return a + b; }
- #elif __NEG__
- int neg(int a) { return -a; }
- #endif
- // указатели на функции
- #ifdef __SUM__
- int (*pfsum)(int, int);
- #elif __NEG__
- int (*pfneg)(int);
- #endif
- void initialize()
- {
- #ifdef __SUM__
- pfsum = sum; // aka GET_PROC_ADDRESS("sum")
- #elif __NEG__
- pfneg = neg; // aka GET_PROC_ADDRESS("neg")
- #endif
- }
- int main()
- {
- // инициализация указателей на внешние функции
- initialize();
- // вызов функции в зависимости от условий компиляции
- #ifdef __SUM__
- std::cout << pfsum(2, 3) << std::endl;
- #elif __NEG__
- std::cout << pfneg(7) << std::endl;
- #endif
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement