Shell-скрипт, убирающий все комментарии из исходников

Маленький shell/sed скриптик, который убирает все комментарии из C исходника. Сам код при этом остается нетронутым.

Перед запуском нужно удостовериться, что код содержит только синтаксически-верные комментарии:

  • Начинающиеся с // и заканчивающиеся окончанием строки;
  • Начинающиеся с /* и заканчивающиеся */ (могут быть многострочными);
  • Вложенные комментарии запрещены.

Как им пользоваться

$ ./script.sed < input.c
$ ./script.sed < input.c > output.c
$ for c in *.c; do script.sed < $c > /tmp/zyzcc.c; /bin/cp -f /tmp/zyzcc.c $c; done

Скрипт…

Похожий бред:

Проверка на четность

int i;
if(i/2 == i - i/2) { ... }

Ад.

Похожий бред:

Программирование Tundra Universe VME моста

Попытались мы тут, как всегда, сделать невозможное — запрограммировать MilStd1553 модуль Корунд-М, но висит эта фиговина, как мы уже писали ранее, на шине VME.

Шина VME это не та PCI, в которой все просто, понятно и существуют миллионы датащитов и кодов для настройки мостов. Это даже не унылая шина ISA, которую вообще не надо кодить. VME — это мощный, как кувалда, старинный, как мамонт, инструмент в котором есть все от аппаратных семафоров, до различной ширины адресации шины данных и адреса. Читать далее

Похожий бред:

RS-485 на AVR32

Как известно, в своих новых микроконтроллерных разработках КБ 13 отказалось от старой проверенной АтМеги в пользу гипернанотехнологичных процессоров AVR32.

В процессе работы с этими процессорами, мы столкнулись с различными багами. Что, в принципе, неудивительно при плотном общении с любой «новинкой»…

Один из багов был связан с usart в режиме rs-485. Читать далее

Похожий бред:

php и кодировок псто

Помимо планирования нового мирового порядка, время от времени нас посещает желание поразвлекаться с интернет-технологиями.
Недавно столкнулись с тем, что ссылки sape выводятся в wordpress-блоге в неверной кодировке: cp-1251 вместо utf-8. И, соответственно, отображаются всякими богопротивными символами вместо кошерных ссылок.

Официальный форум sape предложил следующее — жестко прописать кодировку ссылок, отдаваемых скриптом:

< ?php
define('_SAPE_USER', 'ххххххххххххххххххххххххххх');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
?>

Не сработало. Но нашлось более простое решение. Читать далее

Похожий бред:

КБ 13 и структуры. Про гибкость C

Мы опять решили написать об ненавистном всеми языке Си (КБ13 берет курс на другие модные языки).

Итак, не так давно в мыло нашей Мегакорпорации пришло письмецо от наших заказчиков. В этом письме мы обсуждаем с ними Читать далее

Похожий бред:

swapBytes()

В продолжение.
Таки созрели написать нормальную функцию-конвертер

/*
* swapBytes() - конвертирует порядок байт в буфере
* num - приведенный указатель на число
* n - размер в байтах
*/
int swapBytes(unsigned char * num, size_t n)
{
unsigned char tmp[n];
size_t cnt = n-1;

memcpy(tmp, num, n);

for(cnt=0; cnt

Похожий бред:

Что вас объединяет?

В последнее время нашу КБшечку стали волновать социальные проблемы общества, ведь общество очень важно для прогаммистов, они работают в команде и должны быть мотивированы и сплочены общей идеей, чтобы руководство вовремя могло выполнить свои обязательства перед Заказчиками. 

 В случае если цели неопределены или расходятся, программистам трудно работать в команде и некотрых приходится изолировать для обеспечения нормального рабочего микроклимата в коллективе. Мы предлагаем вам поучаствовать в нашем опросе — что же заставляет вас работать?

 [poll id=»4″]

Если вы работаете не за еду, отпишите в камментах какая идея вас обьединяет или какая бы могла обьединить.

Похожий бред:

Про порядок байт

Сопрягая разные железки, никогда не стоит забывать, что у каждого производителя свое королевство со своими правилами.
Если на AVR32 порядок байт — big-endian, то на x86 — интеловский, little-endian.
И, к примеру, тупо заслав от АЦП на cpc108 буфер unsigned short значений каналов, мы получим на процессоре совсем не то, что хотелось бы.
Магическая функция по конвертации из big-endian в little-endian нам поможет.

/*******************************************************************************
* sw16 - перевод 16-бит числа из Big Endian в Little Endian.
* 
* INPUTS: item - значение для перевода.
*
* RETURNS: переведенное 16-бит значение
*/

UINT16 sw16(UINT16 item)
    {
    UINT16 temp = 0x0;
    
    memcpy( (U8 *)&temp+1, (U8 *)&item, 1);
    memcpy( (U8 *)&temp, (U8 *)&item+1, 1);
    
    return (temp);
    }

Похожий бред:

QNX и TCP/IP c SOCKETS

Сопрягали мы недавно в кораблике одну РЛС со своей системой управления по TCP/IP через сокеты, система управления — клиент, РЛС тоже клиент, а сопряжение 2 сервера. Сопрячь надо было блок обработки сигналов и устройство где оператор тырцает кнопки и смотрит кто нас хочет завалить, нас это кораблик то есть, но да не об этом сейчас, а о сервере и клиенте… Читать далее

Похожий бред: