Форум программистов, компьютерный форум CyberForum.ru

Управляемый препроцессинг - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а" http://www.cyberforum.ru/cpp-beginners/thread1227018.html
Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а". Сделал программу которая это делает, но только с латиницей. Как сюда подключить кириллицу? #include<iostream> #include<cstring> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // Программа работает только с латинницей. const int nSize =300; int i=0, j=0, k=0; char szStr1={0};
C++ Рекурсивное вычисление корня k-й степени Описать рекурсивную функцию RootK(X, K, N) вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: Y_0 = 1, Y_{N+1} = Y_N -\frac{Y_N - \frac{X} {Y_N^{k-1}}}{k}, где Y_N обозначает RootK(X, K, N) при фиксированных X и K. Параметры функции: X (> 0) — вещественное число, K (> 1) и N (> 0) — целые. С помощью функции RootK найти для данного числа X... http://www.cyberforum.ru/cpp-beginners/thread1227011.html
Существует что-то наподобие внешней декларации типов? C++
Доброго времени суток! Возник вопрос, существует что-то наподобие внешней декларации типов? например: header.h : #ifndef HEADER_H #define HEADER_H extern OtherType; void some_func(OtherType a);
C++ Зачем преобразовывать itsVal в int, если эта переменная и так объявлена как тип int
// Оператор преобразования #include <iostream> using namespace std; class Counter { public: Counter(): itsVal(0) {} Counter(int val): itsVal(val) {} ~Counter() {}
C++ Ошибка компилятора "In file included from fig11_08.cpp" http://www.cyberforum.ru/cpp-beginners/thread1226963.html
Ошибка выскакивает в файле fig11_08.cpp на 8 строке. Уже второй раз сталкиваюсь с этим и понял, что так дело больше не пойдет, надо разобраться. Помогите понять, что он хочет.
C++ Вычислить значение функции Помогите написать функцию y=x^2+1; 1≤x≤5, ∆x=0,5, с циклом и без массива. подробнее

Показать сообщение отдельно
HighPredator
 Аватар для HighPredator
5347 / 1730 / 320
Регистрация: 10.12.2010
Сообщений: 5,112
Записей в блоге: 3
14.07.2014, 12:08     Управляемый препроцессинг

Не по теме:

Наверняка промахнусь разделом, так что переместите пожалуйста если есть более подходящий.

Суть вопроса такова: есть условный исходник, который участвует в сборке под несколько осей и несколько типов приложений. Как следствие, он представляет собой макароны из директив условной компиляции и т.п. Возможно ли: путем управления препроцессором получить исходник под какую-то одну (для начала) ось, т.е. разрешить препроцессору раскрывать определенную группу дефайнов, и запретить раскрывать остальные, в т.ч. директивы другой группы?
Например из такого файла (сферический файл в вакууме):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifdef TARGET_PLATFORM_WINDOWS
#include <windows.h>
#include <windows_func.h>
#else
#include <unix_func.h>
#endif
 
int SomeFunction()
{
  // some code
#ifdef TARGET_PLATFORM_WINDOWS
  // some win code
#else
  // some unix code
#endif
  return retVal;
}
 
// etc.
Получить для винды например:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
#include <windows_func.h>
 
int SomeFunction()
{
  // some code
  // some win code
  return retVal;
}
 
// etc.
Более подробный пример того что надо
Кликните здесь для просмотра всего текста

Из:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifdef TARGET_PLATFORM_WINDOWS
#include <windows.h>
#include <windows_func.h>
#else
#include <unix_func.h>
#endif
 
int SomeFunction()
{
#ifdef LOGGING_ENABLED
  // log all this nonsence
#endif
  // some code
#ifdef TARGET_PLATFORM_WINDOWS
  // some win code
#else
  // some unix code
#endif
#ifdef ANOTHER_CUSTOM_DEFINE
  // do what's required
#endif
  return retVal;
}
 
// etc.
получить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <windows_func.h>
 
int SomeFunction()
{
#ifdef LOGGING_ENABLED
  // log all this nonsence
#endif
  // some code
  // some win code
#ifdef ANOTHER_CUSTOM_DEFINE
  // do what's required
#endif
  return retVal;
}
 
// etc.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru