Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Программируем для PSP: Часть I, настройка компилятора

Программирование
Давайте условимся сразу: я следую паттерну «изучение обучением», т.е. учу, одновременно изучая, обгоняя читателей на 2-3 «шага» вперед. Однако это не значит, что я ничего не знаю и все, что говорю — обычные копипасты: я стараюсь разобраться в теме, прежде чем писать о ней. Поэтому смело задавайте вопросы, этим вы принесете пользу и себе, и мне: на вопросы, ответ на которые я не знаю, я буду его искать, осозновать и рассказывать вам.

Итак, в этом топике будет небольшой рассказ о том, как скомпилировать и запустить первую программу на своей приставке. Сразу предупреждение: статья мегатехнического плана, почти все содержание касается утомительной, но быстрой настройки компилятора, а в результате вы получите лишь банальный «Hello World». Однако без нее никак.
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры4.3K
Комментарии 1

Программируем для PSP: Часть I, настройка компилятора

Программирование
Давайте условимся сразу: я следую паттерну «изучение обучением», т.е. учу, одновременно изучая, обгоняя читателей на 2-3 «шага» вперед. Однако это не значит, что я ничего не знаю и все, что говорю — обычные копипасты: я стараюсь разобраться в теме, прежде чем писать о ней. Поэтому смело задавайте вопросы, этим вы принесете пользу и себе, и мне: на вопросы, ответ на которые я не знаю, я буду его искать, осозновать и рассказывать вам.

Итак, в этом топике будет небольшой рассказ о том, как скомпилировать и запустить первую программу на своей приставке. Сразу предупреждение: статья мегатехнического плана, почти все содержание касается утомительной, но быстрой настройки компилятора, а в результате вы получите лишь банальный «Hello World». Однако без нее никак.
Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Просмотры8.2K
Комментарии 45

Программируем для PSP: Часть II. Тотальный контроль

Программирование
В прошлом туториале мы разобрались с «хелловорлдом», теперь пришло время к следующей, не менее важной вещи: вводе информации. Умея выводить что-то на экран и узнавать, что нажал пользователь, уже можно сделать полезную программу. Фактически, после этого урока уже можно будет начинать что-то свое, однако я бы посоветовал дождаться, хотя бы, спрайтов.

Ура! Подписывайтесь на мой PSP-программирования блог.

Ну и еще, это уже отдельным манифестом: если вы нашли в топике ошибку, можете покричать «ура» или гордиться этим. Лучшее, что вы можете сделать — написать мне об этом в личку (это можно легко сделать, нажав «добавить пользователя в друзья» и написав об ошибке в поле «представиться». если вам противно видеть меня в списке друзей, так и напишите, и я не буду жать на кнопку «разрешить добавить»). Самоутверждаться найденными ошибками в комментариях, пожалуйста, не надо, потому что пользы от этого абсолютно никакой, а прокручивать такие комментарии в поисках реально чего-то интересного — раздражает.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Просмотры4.2K
Комментарии 25

Пишем расширения для PHP на C (Си)

Чулан
Современному PHP разработчику это знание может понадобиться скорее для расширения сознания, чем непосредственное руководство к действию, но несмотря на то, что в PHP уже встроено практически все необходимое, а в разнообразных PEAR и PECL репозитариях можно найти пакет дополнений на любой вкус, многим думаю будет интересно, а некоторым и полезно узнать как и что работает внутри PHP.

И раз уж Zend предоставил нам такие удобные инструменты, почему бы ими не воспользоваться? Например для оптимизации каких-то процессов, сокрытия своего когда в коммерческих приложениях и встраивания механизма лицензий, реализации многопоточности или для чего-то еще…

Читать дальше →
Всего голосов 32: ↑29.5 и ↓2.5 +27
Просмотры1.2K
Комментарии 12

Самые популярные языки программирования в 2008 году

Open source
Британская фирма Black Duck Software, которая отслеживает лицензионный статус проектов Open-source, опубликовала статистику по рынку свободного ПО за 2008 год. Всего в поле их зрения попали 180.000 проектов на почти 4000 репозиториях.

За прошлый год было создано около 17.000 новых проектов. Популярность языков программирования среди них распределилась следующим образом:

C — 47%;
Java — 28%.

Среди скриптовых языков лидируют JavaScript (20%) и Perl (18%). Далее следуют PHP (11%) и Ruby (6%). Это довольно удивительно низкий результат для двух последних, учитывая, что Ruby сейчас у всех на слуху, а PHP считается одним из основных инструментов веб-разработки.

Вся статистика приведена по числу проектов, а не по числу строчек кода.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры1.1K
Комментарии 26

Модернизация телефона старого образца(телефон рулетка).

Программирование микроконтроллеров

Суть(цель?) проекта


— На тот момент это был проект для областных соревнований по радиоэлектронике и радиоконструированию.

Далее по списку:
— Выбрать идею — модернизация телефона.
— Создать устройство на базе микроконтроллера семейства PIC16.
— Более лучшее изучение языка ASM а так же Си.
— Создать юзабельный аппарат через который можно будет звонить.
— что нибуть еще =)
Читать дальше →
Всего голосов 98: ↑93 и ↓5 +88
Просмотры10K
Комментарии 52

Забавы с оператором switch

Чулан
Был у меня простой, рабочий код (я убрал лишнее оставил только суть):
typedef enum
  {
    enNone,
    enOne,
    enTwo,
    enThree
  }TEnum;

    switch(Enum)
      {
        case enNone:
             /*Ничего не делаем*/
             break;/*enNone*/
        case enOne:
             Value=f1(Value);
             Value=A*Value+B;
             break;/*enOne*/
        case enTwo:
             Value=f2(Value);
             Value=A*Value+B;
             break;/*enTwo*/
        case enThree:
             Value=f3(Value);
             Value=A*Value+B;
             break;/*enThree*/
      }/*SWITCH*/


Больших претензий к нему у меня не было, но решил его микрооптимизировать:
Читать дальше →
Всего голосов 13: ↑5 и ↓8 -3
Просмотры588
Комментарии 9

Правило чтения по спирали

C++
Перевод
Техника, известная как «Чтение по спирали/по часовой стрелке» (“Clockwise/Spiral Rule”) позволяет любому программисту разобрать любое объявление языка Си.

Следуйте этим простым шагам:
Читать дальше →
Всего голосов 145: ↑132 и ↓13 +119
Просмотры11.2K
Комментарии 42

Тест Си компиляторов под Windows

Чулан
После многочисленных споров на тему «Какой компилятор лучше генерирует код», появилась идея провести самому испытания. Основной целью испытания была проверка скорости работы программы с оптимизацией по скорости. Результат тестирования: среднее арифметическое время выполнения тестовой функции в миллисекундах (1/1000 сек). т.е. чем меньше тем лучше.

В тестировании участвовали:
  • Intel C++ Compiler Pro 11.1.054;
  • GCC 4.5.0 (MinGW);
  • MS C/C++ Compiler 15.00.21022.08 (VS 2008);
  • CodeGear C++ Builder 11.0 (C++Builder 2007);
  • Tiny C Compiler 0.9.25.
Читать дальше →
Всего голосов 23: ↑18 и ↓5 +13
Просмотры5K
Комментарии 12

История языка Си

История IT
Из песочницы
Сейчас, наверно, невозможно найти в мире специалиста в IT-области, который бы не слышал о языке Си. Этот язык приобрёл огромную популярность во всём мире и оказал значительное влияние на многие другие языки программирования. Именно он является предшественником таких языков, как C++, C#, Java; менее известных (например J#). Компания Microsoft для разработки родного языка к своей платформе .Net выбрала именно Си-подобный синтаксис. Что ни говори, но язык Си серьезно изменил жизнь программистов прошлого века и стал де-факто в области низкоуровневого программирования, оставив ассемблеру только те места, где производительность имела критическое значение.

Многие помнят имена создателей языка — Кена Томпсона и Дениса Ритчи, но я решил копнуть глубже и вспомнить историю создания и развития языка. Всем кому интересна эта тема — добро пожаловать под кат.
Читать дальше →
Всего голосов 74: ↑69 и ↓5 +64
Просмотры14.1K
Комментарии 31

Как правильно читать объявления в Си

C++
Перевод
Даже совсем зеленые программисты на Си, не испытывают проблем с чтением таких объявлений:
int foo[5]; // foo массив из 5 элементов типа int
char *foo; // foo указатель на char
double foo(); // foo функция возвращающая значение типа double

Но как только объявления становятся немного сложнее, проблематично точно сказать что это. Например:
char *(*(**foo[][8])())[];

Как же научиться их читать?
Всего голосов 125: ↑108 и ↓17 +91
Просмотры37.3K
Комментарии 88

Передача файла сигналами

Ненормальное программирование
Добрый день, хабражители. Наверняка все знают что такое сигналы в Linux и для чего они нужны. Но сегодня, я хотел бы рассказать о, как мне кажется, нетрадиционном их применении.

Задача очень надуманная и направленна на тренировку своих навыков работы с сигналами и, немножко, побитовыми операциями. В общем, задача:
Программа должна порождать процесс, который посредством только сигналов передавал родителю файл, указанный в качестве аргумента командной строки. Родитель выводит полученный файл в stdout.
Читать дальше →
Всего голосов 49: ↑46 и ↓3 +43
Просмотры10.1K
Комментарии 34

CUnit: Автоматическое тестирование с динамической загрузкой тестов

Разработка веб-сайтов
Из песочницы
Задача: создать «дружелюбное» окружение над фреймворком CUnit, позволяющие разработчикам/тестерам без дополнительных телодвижений добавлять новые тесты. Почему в качестве фреймворка используется CUnit? Все просто: звезды так сошлись.

Здесь я не буду описывать как работает CUnit или как писать тест-кейсы и тест-сьюты с использованием данного фреймворка. Все это есть в официальной документации, которая расположена по адресу http://cunit.sourceforge.net/doc/index.html.

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры6.6K
Комментарии 1

Разработчики Intel тоже говнокодят

Блог компании PVS-Studio
PVS-Studio vs IEC SDK
В последнее время, рассказывая о проверке очередного проекта, я всё время повторял, что это очень качественный код и ошибок в нём практически не найдено. Примером может служить анализ таких проектов, как Apache, MySQL, Chromium. Почему мы выбираем такие приложения, я думаю понятно. Про них всех знают и никому не интересно, какие ужасы можно найти в дипломной работе студента Васи. Однако иногда мы поверяем и те проекты, которые просто случайно попали под руку. Некоторые такие проекты оставляют тяжёлые впечатления в моей тонкой и ранимой душе. В этот раз мы проверили Intel® Energy Checker SDK (IEC SDK).
Читать дальше →
Всего голосов 112: ↑87 и ↓25 +62
Просмотры2.2K
Комментарии 116

Как писать квайны

Ненормальное программирование
Введение

Многие программисты считают написание квайнов (программ, выводящих свой исходный код) непосильной задачей. И действительно — все эти цепные квайны и квайны различного порядка, при взгляде на которые можно потеряться в, казалось бы, бессмысленном наборе символов…

Однако, на самом деле, написать квайн на каком-либо языке не так сложно, как кажется. Сейчас я расскажу, как сделать это на различных языках программирования. Более того, мы не будем использовать «хаки» интерпретеруемых языков вроде операции вывода исходного кода и функций типа eval и напишем квайны на интерпретируемых и компилируемых языках.
Читать дальше →
Всего голосов 84: ↑80 и ↓4 +76
Просмотры29.3K
Комментарии 56

Умер Деннис Ритчи, один из создателей UNIX и языка Си

Программирование
imageВ США в возрасте 70 лет скончался Деннис Ритчи (Dennis Ritchie), создатель языка программирования Си и один из разработчиков операционной системы UNIX.

О смерти Ритчи сообщил на своей странице в социальной сети Google+ его коллега Роберт Пайк (Robert Pike). Он указал, что программист умер у себя дома после продолжительной болезни. Портал CrazyEngineers в качестве даты смерти Ритчи называет 8 октября.

Читать дальше →
Всего голосов 237: ↑197 и ↓40 +157
Просмотры8.8K
Комментарии 64

Я не знаю Си

Ненормальное программированиеC++C
Цель этой статьи — заставить всех, особенно программистов на Си, сказать «я не знаю Си».
Хочется показать, что тёмные углы в Си значительно ближе, чем кажется и даже тривиальные строки кода несут в себе undefined behavior.
Читать дальше →
Всего голосов 285: ↑268 и ↓17 +251
Просмотры44.6K
Комментарии 309