Блог пользователя zakharvoit

Автор zakharvoit, 10 лет назад, По-русски

Вдохновленный всякими CHelper и JHelper я написал свой небольшой скрипт, предназначенный для удобного использования prewritten code на c++.

Он удаляет все комментарии и разворачивает все include в кавычках в содержимое соответствующих файлов. При этом не разворачивая ничего рекурсивно.

Здесь можно его скачать https://github.com/zakharvoit/libparser.

Как использовать. Для примера напишем некоторый файл ~/lib/binpow.h

#ifndef LIB_BINPOW_H
#define LIB_BINPOW_H
int binpow(int a, int n)
{
    int res = 1;
    while (n > 0) {
	if (n & 1) {
	    res *= a;
	}
	a *= a;
	n >>= 1;
    }
    return res;
}
#endif

И некоторый файл ~/contest/main.cpp

#include <iostream>
#include "binpow.h"

using namespace std;

int main()
{
    cout << binpow(2, 10) << endl;
}

Теперь воспользуемся скриптом: ./libparser.pl ~/lib main.cpp output.cpp

После этого в файле output.cpp будет готовый к отправке код.

Для запуска скрипта нужен интерпретатор perl (уже должен быть установлен на unix-like системах). Не уверен, что скрипт будет работать под windows, но скорее всего будет. Если не работает — напишите в комментариях.

  • Проголосовать: нравится
  • +64
  • Проголосовать: не нравится