Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » C, С++ | страница 35
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 35 из 37
На страницу: Пред.  1, 2, 3 ... 34, 35, 36, 37  След.    Перейти:   Все страницы
Поиск в этой теме:
Железный канал: «C, С++»
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
DIMOSUS.X :
В муках родил вот такой мэйк файл

За такими вещами чем изобретать самому, лучше обращаться к коллективному бессознательному: https://www.google.com/search?q=makefile+separate+obj
_________________
Конец света в конце тоннеля
    Добавлено: 19:15 03-01-2016   
RenderG
 2290 EGP


Модератор
Рейтинг канала: 10(1433)
Репутация: 243
Сообщения: 20534
Откуда: [OEG]
Зарегистрирован: 18.09.2006
Кусок ночного быдлокода. Ой, не могу!.. Чисто поржать.
 Cкрытый текст   (кликните здесь для просмотра)
Код:
void spread(unsigned long color, unsigned long color2, byte times, byte wait, byte lid)
{
  for (int i=0; i<times; i++)
  {
    leds.setPixelColor(0, color);
    leds.setPixelColor(7, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(1, color);
    leds.setPixelColor(6, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(2, color);
    leds.setPixelColor(5, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(3, color);
    leds.setPixelColor(4, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(4, color);
    leds.setPixelColor(3, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(5, color);
    leds.setPixelColor(2, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(6, color);
    leds.setPixelColor(1, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    leds.setPixelColor(7, color);
    leds.setPixelColor(0, color2);
    leds.show();
    delay(lid);
    clearLEDs();
    leds.show();
    delay(wait);
    }
}

Заменил таким. Вроде работает.
Код:
void spread(unsigned long color, unsigned long color2, byte times, byte wait, byte lid)
{
   for (int j=1; j<times; j++) 
   {
      for (int i=1; i<LED_COUNT+1; i++)
      {
        leds.setPixelColor(i-1, color);
        leds.setPixelColor(LED_COUNT-i, color2);
        leds.show();
        delay(lid);
        clearLEDs();
        leds.show();
        delay(wait);
      }
   }
}


_________________
No More Mr. Nice Guy!
Смирись, Пилот!
Ты будешь жалок
Всего-лишь после
Пары палок... (с) Dandy

Последний раз редактировалось: RenderG (22:52 03-01-2016), всего редактировалось 2 раз(а)
    Добавлено: 22:19 03-01-2016   
БулерМэн
 420 EGP


Рейтинг канала: 4(58)
Репутация: 68
Сообщения: 1580
Откуда: Гороховец
Зарегистрирован: 07.02.2006
RenderG :
Заменил таким. Вроде работает.

Елочная гирлянда? Улыбка
    Добавлено: 23:19 03-01-2016   
RenderG
 2290 EGP


Модератор
Рейтинг канала: 10(1433)
Репутация: 243
Сообщения: 20534
Откуда: [OEG]
Зарегистрирован: 18.09.2006
Мигалка (люстра) сыну на полицейскую тачку. Хы...
_________________
No More Mr. Nice Guy!
Смирись, Пилот!
Ты будешь жалок
Всего-лишь после
Пары палок... (с) Dandy
    Добавлено: 00:00 04-01-2016   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Моя очередь задавать глупые вопросы Гы-гы

Кто-нибудь знает, как можно переменные окружения VS передать в make ? Ключик -e передает только системные...

Пока делаю так:

Код:
make Platform=$(Platform) Configuration=$(Configuration) build


Но что-то мне подсказывает, что должно быть более красивое решение.

Задача: Сделать универсальный Makefile для Винды, Линукса, Мака и Андройда.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (15:40 14-01-2016), всего редактировалось 1 раз
    Добавлено: 15:36 14-01-2016   
Grebomet
 1460 EGP


Модератор
Рейтинг канала: 8(753)
Репутация: 261
Сообщения: 4765
Откуда: Питербурх
Зарегистрирован: 06.01.2003
Make? Ты уверен, что не NMake?

ТехноМаг :
Задача: Сделать универсальный Makefile для Винды, Линукса, Мака и Андройда.

За "андроид", написанный через й - отдельные лучи поноса.

А вообще задача если и выполнима, то с некрасивыми кульбитами, костылми и подпорками. На винде - свой вариант nmake, не совместимый со здравым смыслом, на маке может быть свой (не помню, что там), андроид собирается GNU make.
Ладно, допустим, ты везде gmake поставишь (хотя на винде он уже давно не собирается, ЕМНИП). Но все равно придется говнокодить и подпоркотворчествовать.

Я бы посоветовал посмотреть в сторону кроссплатформенных систем сборки - хотя бы той же CMake. Там тоже не фонтан, но лбом в стену придется стучать реже, чем с голыми мейкфайлами.
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 16:06 14-01-2016   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Мак Линукс и дройд - это GNU make
Для винды - MinGW, что по сути тоже-самое.

Разница сводится только к выбору команды для цели clean, install и ряда специфичных флагов компилятора/линковщика (из серии -mwindows)

Nmake принимает в качестве команды make и нормально с ним работает.

CMake у меня не заводится под виндой (и черт его знает почему).
Правда через MSys пока еще не пытался его ставить, но это уже само по себе костыль (да и как из под VS его дергать через окружение Msys тоже не особо понятно).
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (16:20 14-01-2016), всего редактировалось 4 раз(а)
    Добавлено: 16:11 14-01-2016   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
ТехноМаг :
MSys

Зачем этот рипофф, когда есть Cygwin?
_________________
Люблю свободный полёт... :)
    Добавлено: 17:09 14-01-2016   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
AnrDaemon :
когда есть Cygwin?

Согласен. С ним и проблем меньше - щас поставим.
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 17:22 14-01-2016   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Ну, про проблемы не мне тебе рассказывать… Ой, не могу!..
Тут новый прикол вышел с последним апдейтом Win10 (1511)…
_________________
Люблю свободный полёт... :)
    Добавлено: 17:28 14-01-2016   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
AnrDaemon :


Там их много появилось. Какой конкретно ты имеешь ввиду?
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 17:51 14-01-2016   
Grebomet
 1460 EGP


Модератор
Рейтинг канала: 8(753)
Репутация: 261
Сообщения: 4765
Откуда: Питербурх
Зарегистрирован: 06.01.2003
ТехноМаг :
Nmake принимает в качестве команды make и нормально с ним работает.

Фигушки:
 Cкрытый текст   (кликните здесь для просмотра)
Код:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

C:\src>make
'make' is not recognized as an internal or external command,
operable program or batch file.

C:\src>nmake

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1064: MAKEFILE not found and no target specified
Stop.

C:\src>


ТехноМаг :
Для винды - MinGW, что по сути тоже-самое.

Фуфуфу, вы б еще OpenWatcom использовали Улыбка
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 18:26 14-01-2016   
ТехноМаг
 360 EGP


Рейтинг канала: 2(21)
Репутация: 93
Сообщения: 2510
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Grebomet :
Фуфуфу

Аргументируйте.

добавлено спустя 12 минут:
Grebomet :
Фигушки:


А GNU make-то стоит у тебя? в PATH прописан?

 Cкрытый текст   (кликните здесь для просмотра)

_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."

Последний раз редактировалось: ТехноМаг (18:44 14-01-2016), всего редактировалось 2 раз(а)
    Добавлено: 18:41 14-01-2016   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
ТехноМаг :
Там их много появилось. Какой конкретно ты имеешь ввиду?

Прикол - один. Форки поломались.
https://cygwin.com/ml/cygwin/2016-01/msg00093.html (См. список фиксов.)
_________________
Люблю свободный полёт... :)
    Добавлено: 19:36 14-01-2016   
Grebomet
 1460 EGP


Модератор
Рейтинг канала: 8(753)
Репутация: 261
Сообщения: 4765
Откуда: Питербурх
Зарегистрирован: 06.01.2003
ТехноМаг :
Аргументируйте.

Переводили как-то проектик с приличного компилятора на МинГВ.
Граблей обрели множество, причем трудновыводимых:
- система сборки вроде бы детектирует ЮНИХ, а на самом деле винда. Кое-какие третьесторонние библиотеки запарились патчить, чтоб собрались.
- какие-то грабли с printf(). Сейчас уже не припомню, но то ли не срабатывали какие-то %-спецификаторы, то ли по ошибке доступа к памяти вылетало.
- в виндовых ДЛЛках не вызывались конструкторы-деструкторы глобальных объектов при аттаче-детаче процесса. Понимаю, что "такнизя" и "проблемавДНК", но наша задача была собрать имеющийся код, а не заниматься улучшайзингами.

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

ТехноМаг :
А GNU make-то стоит у тебя? в PATH прописан?

Кое-кто (не будем показывать пальцами) утверждал, что GNU make не нужен:
ТехноМаг :
Nmake принимает в качестве команды make и нормально с ним работает.


AnrDaemon :
Прикол - один. Форки поломались.

А без учета бага, насколько близко к юниксовым удалось реализовать форк цыгвиновцам? Скажем, можно ли нафоркать чайлдов, которые будут пользоваться родительской памятью (copy-oт-write и все такое), а потом обождать их завершения через wait()?
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 12:32 15-01-2016   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Баг пофиксили, если ты не обратил внимания.
Ответить на твой вопрос со всей точностью не могу, я не силён в специфике работы системы на таком уровне.
Но вроде как да, возможно.
_________________
Люблю свободный полёт... :)
    Добавлено: 14:13 15-01-2016   
Grebomet
 1460 EGP


Модератор
Рейтинг канала: 8(753)
Репутация: 261
Сообщения: 4765
Откуда: Питербурх
Зарегистрирован: 06.01.2003
AnrDaemon :
Но вроде как да, возможно.

Нашел в их факе: https://www.cygwin.com/faq.html#faq.api.fork
Как и ожидалось - хак на хаке, глюк на глюке, тормоз на тормозе.

Вообще, цыгвин с одной стороны - хорошая штука, когда надо хоть как-то собрать под виндой то, что изначально разработано под *никсы. Ключевые слова при этом - "хоть как-то".

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

А для небольших проектиков (всяких утилиток, по-быстрому лабаемых на коленке) я, помнится, успешно юзал и MinGW, и MSys. Можно было и цигвин, но он даже слишком монструозен для небольших утилит (и надо за утилитой лишнюю ДЛЛ-ку таскать).
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 15:23 15-01-2016   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Я не собираюсь спорить, поскольку сам ничего не собираю, но на досуге посмотри список поставляемого на его базе софта.
Да, некоторые POSIX API в принципе нельзя перенести на винду.
Но те, что можно, перенесли, они работают, когда ломаются - чинятся и улучшаются.
И, да, ты не прав. Тормоза тут только когда спотыкаешься о нативную консоль. В нормальном терминале всё летает. (А если отключить Prefetch, то вообще летает, ибо пропадает 10-секундная задерка на первом старте программ.)

добавлено спустя 2 минуты:
Grebomet :
(и надо за утилитой лишнюю ДЛЛ-ку таскать

Неверная постановка вопроса. Надо не DLL за утилитой таскать, а добавить свою утилиту в репо.
_________________
Люблю свободный полёт... :)

Последний раз редактировалось: AnrDaemon (07:17 16-01-2016), всего редактировалось 1 раз
    Добавлено: 07:17 16-01-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
AnrDaemon :
Надо не DLL за утилитой таскать, а добавить свою утилиту в репо.

И таскать за утилитой цигвин? Македонский с обрывками гордиевого узла рыдает в углу...
_________________
Конец света в конце тоннеля
    Добавлено: 11:03 16-01-2016   
AnrDaemon
 856 EGP


Модератор
Рейтинг канала: 8(784)
Репутация: 37
Сообщения: 12292

Зарегистрирован: 17.10.2004
Не вижу смысла в этом споре.
Для меня Cygwin это неотъемлемая часть повседневной среды обитания.
Ибо стандартные средства скриптописания в винде ниже плинтуса.
_________________
Люблю свободный полёт... :)
    Добавлено: 13:48 16-01-2016   
Железный канал: «C, С++»
На страницу: Пред.  1, 2, 3 ... 34, 35, 36, 37  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Почитай мои советы, потом поймёшь, кто я такой! (крикнул Night Storm)

  » C, С++ | страница 35
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18