Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

 
Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный

> Разработка простейшего приложения с нуля

payta
post Четверг, 09 июля 2009, 13:45
Отправлено #1


Фанат
***

Группа: Пользователи
Сообщений: 121
Регистрация: 19 окт. 2007
Из: Defaultcity
Пользователь №: 24 067





Хотелось бы знать, думаю специалисты тут точно есть.
Как принципиально происходит установка среды разработки для консолей GP2X (принципиальные различия SDK под Windows и Linux), как пишется софт, компилируется и запускается.
Что почитать для разработки каких то простейших приложений и перейти к чему то более продвинутому и вообще что было бы полезным знать?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
EugeneP
post Пятница, 10 июля 2009, 05:25
Отправлено #2


Маньяк
****

Группа: Пользователи
Сообщений: 314
Регистрация: 15 мая. 2009
Из: Сибирь
Пользователь №: 31 975





QUOTE (payta @ Четверг, 09 июля 2009, 16:45)
Как принципиально происходит установка среды разработки для консолей GP2X (принципиальные различия SDK под Windows и Linux),
*

Распаковкой из архива в большинстве случаев smile.gif
смотреть здесь: http://wiki.gp2x.org/wiki/Getting_started_...P2X_development
Пакет open2x под линукс сам себя скачивает и компилит.

QUOTE (payta @ Четверг, 09 июля 2009, 16:45)
как пишется софт, компилируется и запускается.
*

Текстовым редактором и компилятором smile.gif с помощю Make-файлов или проектов IDE. Запускается на приставке.

QUOTE (payta @ Четверг, 09 июля 2009, 16:45)
Что почитать для разработки каких то простейших приложений и перейти к чему то более продвинутому и вообще что было бы полезным знать?
*

Рекомендую написать что-нибудь вроде тетриса или арканоида. Возникшие по ходу вопосы будут тем самым "что необходимо"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Пятница, 10 июля 2009, 13:53
Отправлено #3


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Вот поэтому я больше ничего и не пишу.


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
payta
post Вторник, 14 июля 2009, 17:06
Отправлено #4


Фанат
***

Группа: Пользователи
Сообщений: 121
Регистрация: 19 окт. 2007
Из: Defaultcity
Пользователь №: 24 067





Ну допустим, я скопировал среду разработки в нужное место.
Есть код:
CODE
#include <iostream>
using namespace std;

int main()
{
cout << "Hello, World!" <<endl;
return 0;
}

Как мне скомпилировать это под ВИЗ?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Вторник, 14 июля 2009, 17:20
Отправлено #5


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Не будет он работать, почитай в конце концов rusbase или этот форум. И там и там вся инфа есть.


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
500mhz
post Вторник, 14 июля 2009, 17:45
Отправлено #6


аццкий сотона
******

Группа: Пользователи
Сообщений: 1 677
Регистрация: 21 авг. 2006
Пользователь №: 17 682





ну так если через кредл затерминалиться то будет работать )
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Среда, 15 июля 2009, 01:32
Отправлено #7


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





На визе нет кредла.


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
EugeneP
post Среда, 15 июля 2009, 20:40
Отправлено #8


Маньяк
****

Группа: Пользователи
Сообщений: 314
Регистрация: 15 мая. 2009
Из: Сибирь
Пользователь №: 31 975





QUOTE (payta @ Вторник, 14 июля 2009, 20:06)
Ну допустим, я скопировал среду разработки в нужное место.
Есть код:
CODE
#include <iostream>
using namespace std;

int main()
{
cout << "Hello, World!" <<endl;
return 0;
}

Как мне скомпилировать это под ВИЗ?
*


как-то так:

<path-to-gcc>/arm-<something>-g++ -I<path-to-includes > -o your-file.bin your-file.cpp

Только ты не увидешь ничего на консольке - она ж всегда в графическом режиме, stdout не видно. Нужно сразу писать графическое приложение. Ну или запускай your-file.bin из termula.

Используй SDL (правильно) или прямой доступ к fb (неправильно, зато без внешних зависимостей) вот так:
CODE
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>

int main()
{
   int fbfd = 0;
   struct fb_var_screeninfo vinfo;
   struct fb_fix_screeninfo finfo;
   long int screensize = 0;
   char *fbp = 0;
   int x = 0, y = 0;
   long int location = 0;

   // Open the file for reading and writing
   fbfd = open("/dev/fb0", O_RDWR);
   if (!fbfd) {
       printf("Error: cannot open framebuffer device.\n");
       exit(1);
   }
   printf("The framebuffer device was opened successfully.\n");

   // Get fixed screen information
   if (ioctl(fbfd, FBIOGET_FSCREENINFO, &finfo)) {
       printf("Error reading fixed information.\n");
       exit(2);
   }

   // Get variable screen information
   if (ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo)) {
       printf("Error reading variable information.\n");
       exit(3);
   }

   printf("%dx%d, %dbpp\n", vinfo.xres, vinfo.yres, vinfo.bits_per_pixel );

   // Figure out the size of the screen in bytes
   screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;

   // Map the device to memory
   fbp = (char *)mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED,
                      fbfd, 0);
   if ((int)fbp == -1) {
       printf("Error: failed to map framebuffer device to memory.\n");
       exit(4);
   }
   printf("The framebuffer device was mapped to memory successfully.\n");

   x = 100; y = 100;       // Where we are going to put the pixel

   // Figure out where in memory to put the pixel
   for ( y = 100; y < 300; y++ )
       for ( x = 100; x < 300; x++ ) {

           location = (x+vinfo.xoffset) * (vinfo.bits_per_pixel/8) +
                      (y+vinfo.yoffset) * finfo.line_length;

           if ( vinfo.bits_per_pixel == 32 ) {
               *(fbp + location) = 100;        // Some blue
               *(fbp + location + 1) = 15+(x-100)/2;     // A little green
               *(fbp + location + 2) = 200-(y-100)/5;    // A lot of red
               *(fbp + location + 3) = 0;      // No transparency
           } else  { //assume 16bpp
               int b = 10;
               int g = (x-100)/6;     // A little green
               int r = 31-(y-100)/16;    // A lot of red
               unsigned short int t = r<<11 | g << 5 | b;
               *((unsigned short int*)(fbp + location)) = t;
           }

       }    
   munmap(fbp, screensize);
   close(fbfd);
   usleep(10000);
   return 0;
}

(наглый копипаст из манов)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
quasist
post Пятница, 17 июля 2009, 10:28
Отправлено #9


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





... поэтому я жду оффициального СДК под винду...


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Hahahoj
post Пятница, 17 июля 2009, 15:09
Отправлено #10


Зомби
*******

Группа: Пользователи
Сообщений: 10 730
Регистрация: 17 дек. 2004
Пользователь №: 12 002





Кваз, в последнее время ты вообще не пишешь вне зависимости от ничего. wink.gif
Кстати, там испанцы затеяли новое компетишн на Визе с игрой типа Тауэр Дефенд в качестве задания. Никто не хочет участвовать?
2payta
Лучше пока посмотри в сторону Fenix-а.


--------------------
«Не стоит сердиться на плохих людей. Знаешь, для чего их создал Бог? Чтоб мы смотрели на них и старались быть совсем другими».
» Моя прелесть «

user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
quasist
post Пятница, 17 июля 2009, 19:11
Отправлено #11


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





QUOTE (Hahahoj @ Пятница, 17 июля 2009, 16:09)
Кваз, в последнее время ты вообще не пишешь вне зависимости от ничего. wink.gif
*

Процесс написания и факт релиза продуктов - две разные вещи. На днях пойду вопрошать докторов физмат наук о обладании играми класса Тоуэр Дефенс перколяционных свойств.


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
EugeneP
post Пятница, 17 июля 2009, 19:24
Отправлено #12


Маньяк
****

Группа: Пользователи
Сообщений: 314
Регистрация: 15 мая. 2009
Из: Сибирь
Пользователь №: 31 975





QUOTE (Hahahoj @ Пятница, 17 июля 2009, 18:09)
Кваз, в последнее время ты вообще не пишешь вне зависимости от ничего. wink.gif
Кстати, там испанцы затеяли новое компетишн на Визе с игрой типа Тауэр Дефенд в качестве задания. Никто не хочет участвовать?
*

Подробности в студию!

Сообщение отредактировал EugeneP - Пятница, 17 июля 2009, 19:25
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
quasist
post Пятница, 17 июля 2009, 22:44
Отправлено #13


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





QUOTE (EugeneP @ Пятница, 17 июля 2009, 20:24)
Подробности в студию!
*

Он к тому, чтобы я писал для этого компитишена...
Это уже в 4й раз. Поэтому он между предложений поставил " wink.gif "


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rbm13s
post Среда, 04 ноября 2009, 00:44
Отправлено #14


Ветеран
******

Группа: Пользователи
Сообщений: 1 195
Регистрация: 28 фев. 2008
Из: Königsberg ака Калининград
Пользователь №: 25 820





Посоветуйте среду разработки для идиотов, чтобы работало прямо "из коробки". Т.е. распаковал архив, настроил по минималу и уже можно было компилить. Под винду или линь всё равно, главное чтобы там сутки на пролёт не надо было дорабатывать напильником.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
quasist
post Среда, 04 ноября 2009, 15:30
Отправлено #15


Sing along at the Opera
Group Icon

Группа: Профи
Сообщений: 3 391
Регистрация: 06 янв. 2006
Пользователь №: 14 791





Сам с этого начинал - до сих пор им только и пишу.

http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,14,2660

Встроеный хелп по C и SDL.
Динамическая линковка - собирает единое приложение для GP2X и GP2X WIZ

Компилятор не очень дружит с Vista smile.gif

Чтобы не заморачиваться с тем, как SDL блитит картинки, советую сделать фреймбуффер и в него по пикселям рисовать.


--------------------
12 удачных сделок в барахолке gbx.ru
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Ср., 24 апр. 2024, 10:18
Skin Designed (c) by Rooq.net, All Rights Reserved.