|
Здравствуйте Гость ( Вход | Регистрация ) Доступ из РоссииДля сохранения достпа из России к сайту и форуму GBX
|
||||||||||||||||||||||||||||
| payta |
Четверг, 09 июля 2009, 13:45
Отправлено
#1
|
|
Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 121 Регистрация: 19 окт. 2007 Из: Defaultcity Пользователь №: 24 067 ![]() ![]() |
Хотелось бы знать, думаю специалисты тут точно есть.
Как принципиально происходит установка среды разработки для консолей GP2X (принципиальные различия SDK под Windows и Linux), как пишется софт, компилируется и запускается. Что почитать для разработки каких то простейших приложений и перейти к чему то более продвинутому и вообще что было бы полезным знать? |
![]() ![]() ![]() |
Ответов
| payta |
Вторник, 14 июля 2009, 17:06
Отправлено
#2
|
|
Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 121 Регистрация: 19 окт. 2007 Из: Defaultcity Пользователь №: 24 067 ![]() ![]() |
Ну допустим, я скопировал среду разработки в нужное место.
Есть код: CODE #include <iostream> using namespace std; int main() { cout << "Hello, World!" <<endl; return 0; } Как мне скомпилировать это под ВИЗ? |
| EugeneP |
Среда, 15 июля 2009, 20:40
Отправлено
#3
|
![]() Маньяк ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 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; } (наглый копипаст из манов) |
Posts in this topic
payta Разработка простейшего приложения с нуля Четверг, 09 июля 2009, 13:45
EugeneP
Распаковкой из архива в большинстве случаев :)
см... Пятница, 10 июля 2009, 05:25
Hahahoj Вот поэтому я больше ничего и не пишу. Пятница, 10 июля 2009, 13:53
Hahahoj Не будет он работать, почитай в конце концов rusba... Вторник, 14 июля 2009, 17:20
500mhz ну так если через кредл затерминалиться то будет р... Вторник, 14 июля 2009, 17:45
Hahahoj На визе нет кредла. Среда, 15 июля 2009, 01:32
quasist ... поэтому я жду оффициального СДК под винду... Пятница, 17 июля 2009, 10:28
Hahahoj Кваз, в последнее время ты вообще не пишешь вне за... Пятница, 17 июля 2009, 15:09
quasist
Процесс написания и факт релиза продуктов - две р... Пятница, 17 июля 2009, 19:11
EugeneP
Подробности в студию! Пятница, 17 июля 2009, 19:24
quasist
Он к тому, чтобы я писал для этого компитишена...... Пятница, 17 июля 2009, 22:44
rbm13s Посоветуйте среду разработки для идиотов, чтобы ра... Среда, 04 ноября 2009, 00:44
quasist Сам с этого начинал - до сих пор им только и пишу.... Среда, 04 ноября 2009, 15:30![]() ![]() |
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
| Упрощённая версия | Сейчас: Вс., 25 окт. 2026, 09:15 |

Четверг, 09 июля 2009, 13:45













