Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать дальше →
Total votes 32: ↑29.5 and ↓2.5 +27
Views 1.4K
Comments 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 считается одним из основных инструментов веб-разработки.

Вся статистика приведена по числу проектов, а не по числу строчек кода.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 1.2K
Comments 26

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

Programming microcontrollers *

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


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

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

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

Lumber room
Был у меня простой, рабочий код (я убрал лишнее оставил только суть):
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*/


Больших претензий к нему у меня не было, но решил его микрооптимизировать:
Читать дальше →
Total votes 13: ↑5 and ↓8 -3
Views 649
Comments 9

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

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

Следуйте этим простым шагам:
Читать дальше →
Total votes 145: ↑132 and ↓13 +119
Views 12K
Comments 42

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

Lumber room
После многочисленных споров на тему «Какой компилятор лучше генерирует код», появилась идея провести самому испытания. Основной целью испытания была проверка скорости работы программы с оптимизацией по скорости. Результат тестирования: среднее арифметическое время выполнения тестовой функции в миллисекундах (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.
Читать дальше →
Total votes 23: ↑18 and ↓5 +13
Views 5.3K
Comments 12

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

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

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

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

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

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

Как же научиться их читать?
Total votes 125: ↑108 and ↓17 +91
Views 38K
Comments 88

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

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

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

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

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

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

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 6.8K
Comments 1

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

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

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

Abnormal programming *
Введение

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

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

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

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

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

Читать дальше →
Total votes 237: ↑197 and ↓40 +157
Views 8.9K
Comments 64

Я не знаю Си

Abnormal programming *C++ *C *
Цель этой статьи — заставить всех, особенно программистов на Си, сказать «я не знаю Си».
Хочется показать, что тёмные углы в Си значительно ближе, чем кажется и даже тривиальные строки кода несут в себе undefined behavior.
Читать дальше →
Total votes 285: ↑268 and ↓17 +251
Views 45K
Comments 309