https://github.com/easymodo/qimgv/releases Привет ычан. Пишу нескучный просмотрщик изображений на Qt. Если кому-то будет интересно попробовать, есть инсталлер по ссылке. Оно пока довольно сырое, но в принципе можно пользоваться. Буду рад критике/предложениям.
>>13840 Удваиваю реквест.
>>14645>>13840 Я вас не знаю. Не хочу.
>>13074 Попробовал открыть 167 файлов -- зафризились иксы.
>>14647 Кокетка-котлетка. А я тебя знаю по конфам.
Оно еще живо. Запилил новую версию, оно теперь умеет редактировать пикчи. И вебм теперь через libmpv, по-идее должно работать нормально. Установка в ридми https://github.com/easymodo/qimgv/blob/master/README.md И еще видос: https://www.youtube.com/watch?v=AODRGCRPCpw
>>18590 wow so rotation such fullscreen
>>18590 А колор-манагемент ты пилить собираешься? Если да, то как? Я столкнулся с тем, что QImage поддерживает 10-10-10 бит максимум.
>>18640 Ага, собираюсь. Нужно поковырять код digikam, там оно как-то реализовано с помощью Little CMS.
>>18651 Я так понимаю, что о загрузке изображений с помощью QImage придётся забыть и придётся дёргать всякие libpng/libtiff/libwebp
>>18665 Ещё можно GraphicsMagick дёргать.
Сап, аноны и не очень. Добро пожаловать в теплый ламповый тред Datfeel RolePlay. Мы решили продолжить атмосферу теплой ламповости БЛ, но уже онлайн, в САМП и у нас активно ведется разработка. Группа наша есть ВК vk.com/sovrp (скриншоты, лог разработки, FAQ и пр. - все найдете там) Уже имеем приличное комьюнити, которое очень положительно отозвалось об этой идее. Высказывай свои мысли и идеи, анон. Не стесняйся, нам интересно, что ты об этом думаешь.
> Высказывай свои мысли и идеи, анон. Не стесняйся, нам интересно, что ты об этом думаешь. Предлагаю забанить ОПа.
キタ━━━(゚∀゚)━━━!!
>>13057 >продолжить атмосферу теплой ламповости БЛ Там была такая атмосфера?
Чет мне взбрело в голову накатать свой крутой двиган-убийцу этого, кто он там... Юнити, я уже нахерачил полмегабайта классов на С++ и теперь в состоянии вывести на экран пиксель, теперь, чтобы написать все остальное мне в двигле нужен скриптовый язык. Ничтоже сумняшеся я начал было как обычно ковырять свой собственный парсер с объектами и коллбэками, но что-то меня остановило, и я подумал, что плодить свои диалекты недоязыков это too mainstream и не подходит к моей клетчатой рубашке и бумажному стаканчику от латтэ из старбакса который я бережно храню, так как в моих пердях оный является лютым дефицитом. Посему я решил впендюрить в свой шедевр инженерной мысли LUA, так как это олдскульно, восьмибитно и пиксельно. Мануал на сайте я читаю, но он в основном написан про сам язык, без отсылки в best practices или хоть каким-нибудь пошаговым туториалам типа "пишем свой клиент к world of warkraft за 15 простых уроков". Это стремно. Посему вопрос - где можно почитать про использование этого поделия в других поделиях, а то там в мануале в первых двух страницах нет подзаголовка "если вы пишете прогу на объектах с использованием SDL2 и хотите использовать наш парсер для всего кроме вывода на экран пикселей, то вам сюда" (и что-то мне подсказывает, что его вообще нет), а дальше я не читал, так как меня выгнали из антикафе, а какой я нахрен инди-разработчик, если я не в антикафе сижу?
https://www.google.com/search?q=embedding+lua Не благодари.
Я короч поковырял ЛУУ и увидел следующую тему - С++ интегрируется с ЛУА очень хуево, так как обратный биндинг (т.е. возможность вызвать из LUA скрипта метод объекта) отсутствует. Все "обертки" какие я нашел по большому счету неюзабельны. Ну, всмысле того, что С++ превращается с помощью этих "биндингов" в С. Вся "объектность" идет по пизде.
>так как обратный биндинг (т.е. возможность вызвать из LUA скрипта метод объекта) отсутствует Почему?
>>13740 Для биндинга "из луа" требуется чтобы функция имела статический адрес, для метода объекта такая фича не работает (ну, как не работает - при ее использовании он превращается из метода в статическую функцию, с потерей всех "объектных" плюшек, в частности указатель this в ней становится недоступен, так как функция по факту выпихивается из объекта в глобальное адресное пространство исполняемого файла). Я сделал кривой воркэраунд данной проблемы путем создания специальной функции-обертки, внутри которой вызвается метод объекта (сам объект тоже пришлось вынести в глобальную область видимости).
>>13741 А мог бы просто протащить свой this через луа код. Но вообще говоря, объектодети должны страдать.
>>13742 >протащить свой this через луа код Пиздец извращение. Проще всего было бы все на С писать изначально. Но это не труъ.
>>13744 >Пиздец извращение. Ну да. Стандартное ООП извращение.
>с потерей всех "объектных" плюшек Я не понял, что хочет оп. Какие вообще объектные си++ плюшки могут быть после конпеляции? Ну вот даже если сам луа в расчёт не брать. Как я понимаю, интерпретатор же просто берёт и вызывает функцию, имплементированную в бинарнике, без всяких излишеств? Все данные, которые нужно уже представить в виде объектов в скриптовом файле, ты уже делаешь непосредственно в скриптовом языке, ведь так? А все плюшки ооп в си++ используются только при непосредственном написании кода на си++, нэ? Ведь так логично? *непрограммаст мимо пробегал*
>>13748 Я тебе больше скажу - первые поделия Страуструпа вообще транслировали код этого языка в код на чистом Си, который затем отлаживался и компилировался.
>>13836 >Страус-трупа
Немного странный выбор, но PHP vs C#? В связи с определенными обстоятельствами я переезжаю в мск и нужно искать новую работу. Проблема в том, что последние 2 года я работал не по специальности. В универе учил C# и PHP (оба немного подзабыл), тянет к обоим языкам. Главный вопрос какой из языков сейчас более перспективный и востребованный (не хотелось бы остаться без работы) и реального опыта работы в кодинге у меня нету, какие шансы вкатиться в работу имея базовые знания по ним.
Для работы рядовой кодомакакой на этих языках не требуется вообще никаких специальных знаний. Достаточно щепотки здравого смысла и зайчатков разума.
>>13008 >PHP Быстрое вхождение и мгновенный потолок. На дошираки, наверное хватит на всю жизнь. >C# Медленное вхождение и средняя скорость достижения потолка. Можно делать как web, так и desktop приложения. На хлеб с маслом хватит на всю жизнь. Не будешь лениться - и на икорку хватит.
>PHP vs C#? Эскобар.jpg
>>13023 Ниже прочти
>>13023 Це-решетка пиздатей эрэнэрки. Хотя и является кончей сифилитика (и не только потому, что что угодно круче чем эрэнэр).
>>13027 До-диез
Ассемблер.
>>13016 >мгновенный потолок Распространённое заблуждение. Основная проблема языка в том, что на нём можно и так и сяк и даже вот так вот. А так же обилие мифов и трендов на стили использования. Существуют всевозможные околонаучные труды посвящённые замерам быстродействия и всяческим тестам. А так же мануалы и официальные разъяснения. Но как в какой ситуации кодить правильно, всё равно никто толком не знает. В этом плане достичь потолка достаточно трудно. Так-как потолок подразумевает одинаковое владение всеми стилями боя и мгновенное переключение между ними. А так же постижение дзена оптимизации и конечной истины каждой из философий. >Можно делать как web, так и desktop приложения. Ты не поверишь! На php тоже. Лучше бы было нельзя.
>>13046 Куда его?
>>13008 Лучше становись жуниором на Питоне, думаю проблем с работой будет меньше.
https://github.com/Seedmanc/Tumblr-image-sorter Пишу юзерскрипт для тумблера, позволяет на основе анализа тегов поста с картинками определить путь сохранения изображений на диске, что экономит время на выборе папки вручную. Плюс к этому скрипт добавляет теги в имя файла в формате booru и переводит их с другого языка, если нужно. Кроме того, есть возможность различать основные и второстепенные теги, что позволяет подсчитывать количество объектов на изображении, если они верно указаны в тегах. Например, можно задать отдельные папки для сохранения картинок с группами объектов или же с единичными. Скрипт также позволяет получить HD-версии вложенных изображений в постах любого типа, если они доступны, в противном случае вложенная картинка ссылается на поиск оригинала в гугле.
>>13122 Не ставил, но на скриншоте выглядит няшненько.
>>13131 jQuery UI же. Добавил потенциальную поддержку Unix и может быть даже Mac OS. В отсутствие этих ОС у себя заявлять о тестировании не могу, но по крайней мере на линуксе уже запускалось у другого человека.
Обнаружил на каком-то японском сайте довольно подробное описание своего аддона. Кто японский знает лучше уровня гуглопереводчика, насколько текст выглядит рукописным, а не автоматически составленным каким-нибудь ботом на основе анализа кода? http://wikiwiki.jp/firefox/?cmd=read&page=Ext%2Fservice%2FTumblr%20Image%20Sorter&word=tumblr%20image%20sorter Алсо пофиксил баг, где не работал submit в некоторых случаях.
>>13225 Да это же чёртов успех. Лол, какой же бот тебе такое понапишет? Компьютеры не умеют говорить на естественном языке (пока).
У меня тоже есть серверный скрипт для собирания коллекций с тумблера. Первоначально создавался как автоматический граббер-бэкапер по скармлемоему списку. Просто вбиваешь\копипастишь адреса тумблеров, выставляешь настройки, жмякаешь кнопку и забываешь. Если возникнут какие ошибки с которыми скрипт не справится сам, всё будет записано в логи и выведено на экран, с возможностью выбора действий на каждую из них. При удалении\угоне тумблера, его старые бэкапы вроде бы не перезаписываются. Быдлокод пронзает небеса своею ущербностью, так-как полностью экспериментальный и писался для лулзов. Имеет вэб-интерфейс и работает дооолго. Хотя и на порядок быстрее ручного режима. В чём причина такой слоупочности не знаю. Памяти, процессора и канала почти что не жрёт. Так что запуск с низким лимитом времени выполнения черевато принудительной остановкой, а открывание в хроме и фаерфоксе новее 22 версии - окошком обрыва (скрипт продолжит работать и завершится, но вы об этом уже не узнаете). Давно не обслуживается, так что не могу гарантировать 100% совместимости. Но вроде бы все существующие на данный момент шаблоны HTML-кода переваривает. В общем, кроме малого веса, простоты использования и автономнго сбора актуальных бэкапов по списку плюсов у него нет. Ах да, он умеет сортировать картинки и качать их HD версии. Кому-нибудь нужно? Если кто захочет украсть или переписать на JS, буду только рад. http://rgho.st/6MsMdjc8G
>>14242 ОП тоже делал качалку в свое время, причем на JS и хостился прямо на тумблере. Ну как качалку, она генерит список ссылок на полные картинки + JSON-список тегов, привязанный к имени каждой картинки. Требует флэш для загрузки списков, правда. http://seedmanc.tumblr.com/tmblrDL Когда-то так бэкапил некоторые блоги, которые позже оказывались удалены копирастами.
>>14242>>14309 Интересные у вас подходы. Я так понимаю, чисто ради эксперимента для обучения делалось? >>14309 А код отдельно выложить можешь? Ну чтобы ради него сайт изнутри не ковырять.
>>14315 Делалось скорее, чтобы быстро и без заморочек получить результат, не напрягаясь даже с выбором хостинга. Не отходя от кассы, да. В частности, я просто не нашел ни одной нормальной качалки с тумблере, не говоря уже о сборе тегов с привязкой к имени файла. Последняя была нужна, чтобы потом выкладывать скачанное на буры (для этого был отдельный скрипт с конвертацией тегов в имена файлов, понятные массовому аплодеру). Там код-то весь в одной странице, на коленке писалось. Немного более практичным был второй проект, минималистичный поиск картинок по блогу в обход его интерфейса с важной дополнительной функцией - поиск по пересечению двух тегов. Насколько я знаю, такого функционала сам тумблер не предоставляет. Туда же добавил списки автозаполнения-перевода тегов, правда только для одного блога. http://seedmanc.tumblr.com/tumblr2search
>>14321 > пикрел Стив, молю тебя, дай адрес где найти вот эти фоточки с этой азиаточкой в юкате и другой традиционной одежде.
>>14361 Так по ссылке из поста и качай же. Что вводить видно на скрине. А вообще адрес блога-источника (animage) там же. Ну и раз уж разговор зашел, мой тумблер и бура http://koe.booru.org/index.php?page=post&s=list&tags=kimono mizuki_nana посвящены сейюфото.
Стивы! И будущие Стивы! Мне скоро 30 лет, и у меня главная мечта это учить людей программировать. Так как умею я веб-разработку, то буду рассказывать именно про это. Почему я не сделаю это ин риал лайф? В институте моем меня не очень любят, плюс там наверное очень умным надо быть. В колледже побьют тамошние альфачи, да и не нужно им ничего. А тут всегда было уютно и мило. Одно время по скайпу рассказывал коллегам по работе о всяких интересностях, но сейчас я единственный разработчик. Если я найду одно человека, который хочет научится пилить сайты - то с удовольствием помогу. Если двух - можно будет организовать нечто вроде курсов. А если никого не найду, то буду потихоньку пилить учебник. Я быдлокодер на PHP, живу в мухосранске, работаю удаленно на парней из ДС. Задавайте ваши вопросы.
>>12979 Оукей зен. rlea55
ОП хоть кому-нибудь ответил?
>>12986 Мне пока нет. Например.
>>12986 Мне ответил ещё в начале треда. Сейчас молчит.
Стивы отпишите как идут дела с обучением? оп вообще начал?
>>12952 >Я быдлокодер на PHP >Мне скоро 30 лет >учить людей программировать У меня большие сомнения. Поможешь развеять?
А нужен ли скайп? Если не использовать VoIP, то почему именно скайп?
Зачем вообще нужны какие-то Skype'ы и прочие мессенджеры? Я думал, мы на борде находимся. Или ты там с баками об оплате договариваешься? Какой-то серый конфотред, я бы его закрыл.
>>12952 Занимайся дальше своим делом, только это и могу сказать! Интересная идея. Удачи вам.
>>12952 Оп, ты конечно врядли прочитаешь уже это, но ты жив?
Не особо разбираюсь в ычановском языке, так что напишу как есть. Я тут уже года 4 являюсь диванным игроделом. Помнится, начал пытаться в игры где-то в 14 лет (сейчас 17 лвл) и, конечно, начал с Game Maker. Кто не знает, GM - такой конструктор для школьников\дизайнеров. Маленький мимимишный скриптовый язык с кучей плюшек типо wysiwyg редактора комнат\уровней и т.д. (потом всё скатилось до GM:Studio, всё захватили бюрократы и теперь Студия выглядит как порно игра из 2005 года, но я всё еще её очень люблю, в этом и проблема) Так вот. Начал пытаться в игры. Как у всех, наверное, ничего не получалось, но я пытался не быть бакой и старался больше. Во время этого приключения попутно разбирал всякие штуки вроде Java, Haxe и других няшных конструкторов. И знаете что? Я все еще на GM. Я всё еще не сделал годной игры. Вроде, прокачал навыки, разбрызгиваю милый пиксель арт 8х8 (меня друг-гака бьёт за это постоянно) во все стороны. Но результатов нет. Может я что-то делаю не так? Или надо try harder? Запилю гифку, наверное, с графикой, чтобы не быть пустозвоном. Алерт, такой стиль нравится далеко не всем. Соррян, если что :З
Я имею ввиду, набросай на бумаге в виде диаграммы классов.
>>12903 Подумал на секунду про xor, но дизайнеры тоже могут быть новичками. Так что обычный | сойдёт. А если серьезно, то у ГМ - это основная аудитория. Программисты пользуются им, в основном, как инструментом для прототипирования. Их не так много :з >>12904 Пробовал HaxeFlixel 2-3 месяца назад вместе с HaxePunk и самопальным (делал знакомый) форком Love на Haxe. А форк был крутой, жаль, что слился. А вот в юнит-тесты никогда не пытался. Возможно, нужно попробовать. И архитектуру заранее продумывать попробую, спасибо, няш.
-Здравствуйте, жители ычана... -Чё? -Ой, ну, этого... короче, у меня на чердаке третий год подряд что-то стучит. Что это, как думаете? -Э? У тебя что, идей нет, чтобы запилить "игру своей мечты"? Или хотя бы какой-нибудь концепт, который ты бы хотел осуществить? В чем тогда интерес в гей-девелопинге? Может, тебе просто в игры играть нравится. Если можешь("прокачал навыки"), то не хочешь?
>>12907 На 2 году я понял, что запилить хотя бы один из таких проектов нереально. По крайней мере, я не гений, чтобы запилить его в одиночку. И чтобы какой-то шанс иметь начал прокачиваться. Какой интерес? Да я и играть люблю(главное, чтобы недолго, почему-то долгие игровые сессии меня немножечко в депрессии вводят), и делать игры люблю. kinda cool u know
>>12907 Да и вообще. Я пришел делать игры как и все, такой: "Хей, короче, сейчас забабацаю свой майнкрафт. Ой, это тяжело. Ладно, хотя бы свой Супер Мит Бой. Ой, это еще тяжелее. Тогда свой Фез. Ой :с :c :'c "
Беру свои слова назад о стандартных юнит-тестах Haxe. MUnit - вот это тема. Создаю проект фликселом, проверяю, что он вообще запускается, дальше по этому мануалу https://github.com/massiveinteractive/MassiveUnit/wiki
>>12903 https://ru.wikipedia.org/wiki/Разность_множеств Он, видимо, имел ввиду "школьники, но не дизайнеры".
>>12901 Предлагаю начать с творчества для существующей игры - карта для CS1.6, новый мод для SLRR, много игр на свете ведь.
>>12911 Слишком глубоко. Имел ввиду и школьники, и дизайнеры, и школьники-дизайнеры. Всё из-за того, что навык программирования в GM, по сути, не нужен. >>12912 Может посоветуешь какую-нибудь игру >=2005 с поддержкой модов? Я бака и знаю только много игр на Source. А навыками из разряда 3D совсем не владею :с
>>12913 http://www.gamemodding.net/ru/
Ох хай. В очередной раз переписал сайтик rtmp-стримилки с относительно низкой задержкой - от одной до трёх секунд в нормальном режиме и до десяти в случае проблем с той или иной конфигурацией. Подходит для совместных игрулей в какой-нибудь конфочке. В этот раз постарался сделать всё чуть более ангулярным, чем в прошлый и сделал какое-то подобие дизайна (на бутстрапе, кек). И бекенд сайта теперь на spring-bootstrap'е, поскольку его исполняемый jar удобней деплоить и конфигурить, нежели war'ы для какого-нибудь аппсервера/сервлет-контейнера (вот уж кошмар был с его JNDI-настройками). В качестве рестримера всё тот же nginx-rtmp, дефолтный (и пока единственный) веб-клиент - флешплеер. Всё порываюсь придумать какой-нибудь способ избавиться от флеша, но HTML5 (DASH, HLS) в своём нынешнем состоянии не особо к этому располагает, а более преспективный WebRTC похоже ещё лёт пять будет в разработке прежде чем его можно будет начать использовать. Сорцы: https://github.com/eientei/videostreamer Рабочий инстанс: http://video.eientei.org
>>12890 Ну... Сам себе злобный буратино, щито поделать. Если очень хочешь таки вернуть досту к своему нику на стримилке, можешь попробовать написать в скайп iamtakingiteasy , будем разбираться.
>>12891 Измени у себя там в базе http://video.eientei.org/live/seiba_-1 на http://video.eientei.org/live/seiba и всё у меня будет хорошо.
>>12892 Пользователь seiba уже существует. Имя стрима не может равняться имени другого пользователя (а seiba и seiba_ -- разные юзеры). Так что давай уж разбираться с твоим старым аккаунтом. Проще это будет делать интерактивно, в каком-нибудь IM или irc.
>>12893 Ну удали его и переименуй текущее имя стрима. Яж на это и намекаю.
>>12894 А ещё можно хеши пороля у старого акка сделать таким же, как и на новом.
Я надеюсь, у тебя они хэшированы -_-
>>12894 Сначала мне нужно подтверждение, что ты - это ты. Попробуй предоставить максимум информации о интеракциях со старым аккаунтом: провайдер, айпи, периоды стрима, рефереры, юзеаргенты, etc. Если информации будет достаточно, установлю старому аккаунт указаный тобой e-mail, чтобы у тебя получилось сбросить пароль. Но опять же, делать это на анонимной имижборде несколько нетранзакционно. Хоть в чатик на своём текущем стриме залогинься.
>>12897 Да ты офигел. nvm
ОП, от чего зависит потолок битрейта? У некоторых видел и до 600 кб подымается, картинка приемлемая получается. У меня выше 250 кб не видел. Не могу найти закономерность
Есть новости. Стримилка переехала из нидерланд в россию и пирится с М9. Теперь латенси должна быть немного поменьше (50ms -> 2ms) и ещё сменил nginx на немного патченный srs для рестрима. Плюс переписал часть сайтика. >>13004 Не совсем понимаю суть вопроса. Битрейт у потока точно такой, который ты отправляешь, rtmp-рестримилка просто копирует сообщеньки из твоего потка в поток каждому из юзеров. Иными словами, как свой бродкастер-кодек сконфигуришь - так и будет. В OBS, например, это делается на влакде Encoding настроеек, в ffmpeg'е за это отвечают -b, -b:v и -b:a флаги. Ещё в нём можно покрутить -q, но это уже файн-тюнинг.
КДПВ Стиви,скажи есть такая темка "Программирование Flash-памяти программ микроконтроллеров" денег обещают много. С чего начать? какие книги,сайты?
>>12863 >По смыслу это звучит Нет такой нормы в русском языке.
>>12864 У тебя весь смысл нормирован и выдается по карточкам? Немного поправлю предыдущего оратора: фраза звучит как "программирование содержимого жесткого диска с программами персонального компьютера". Для особо непонятливых даже разжую: flash-память может только содержать программы. Писать их скорее всего придется именно тебе(это ли называно "программированием flash-памяти"?). Следовательно изначальный вопрос о том, что ты понимаешь в данной предметной области, вполне очевидно напрашивается. И ответить на него тебе необходимо в первую очередь для самого себя
>>12870 >flash-память может только содержать программы. На обычных флеш-накопители ты только программы хранишь? А как же данные? Хотя вот например если микроконтроллер с гарвардской архитектурой, там инструкции и данные могут отдельно хранится, но в любом случае и то и то будет лежать на какой-то флеш-памяти
>>12887 Еще дедушка Вирт говорил что программа это алгоритм плюс структуры данных. Так что не виляй терминами.
>>12888 Если где-то в флеш памяти зашита какая-нибудь картинка или видео, который этот самый микроконтроллер должен выводить на LCD дисплей, то эта самая картинка или видео структурой данных не является
>>12916 Вообще-то является. Но это неважно на самом деле. Потому что твои примеры натянуты и нежизнеспособны. Единственное возможное исключение, приходящее мне на ум, это какая-нибудь попильно-откатная должность в гос-/окологос- учреждении аля "устройте куда-нибудь сына начальника". Хотя если ты и есть этот самый сын начальника... тогда барабан в руки и флажок... ну ты понял.
>>12919 >Потому что твои примеры натянуты и нежизнеспособны. Единственное возможное исключение, приходящее мне на ум, это какая-нибудь попильно-откатная должность в гос-/окологос- учреждении аля "устройте куда-нибудь сына начальника". Хотя если ты и есть этот самый сын начальника... тогда барабан в руки и флажок... ну ты понял. Ты это вообще к чему написал? Причем тут какая-то должность, причем тут сын начальника? Как это относится к тому, считать ли картинки или видеофайлы в флеш-памяти структурой данных? Хочешь сказать что какую-нибудь png-картинку в флеш память микроконтроллера будет записывать только сын начальника, которого устроили по блату? Так микроконтроллер вполне может быть соединен с каким-нибудь LCD дисплеем, работать под какой-нибудь примитивной ОС, иметь примитивную файловую систему на этой самой флеш памяти. И эта картинка вполне может быть записана на этой файловой системе, и отображаться на LCD дисплее как элемент интерфейса, например
>>12920 >Хочешь сказать что какую-нибудь png-картинку в флеш память микроконтроллера будет записывать только сын начальника, которого устроили по блату? Другой причины нанимать кого-то на работу, которую вполне может выполнить правильно написаный СКРИПТ я не вижу.
во-первых начни с того,что иногда флэшка лечится простым форматированием.format:/ SOLF
Нагуглить не смог. Можно ли сделать friend function, но friend не по отношению к классу, а к другой функции? пощу баян
>>12810 > будут ли вызовы стандартных методов эффективными/заинлайнеными Каких стандартных? std::less<T> и прочих? Да, будут, они же в header'ах определены. Возьми g++ -O -S -masm=intel и посмотри.
>>12811 >Каких стандартных? Ну, не только less<T>. Будут инлайниться только те, которые определены в заголовках? Тогда я сам айду. Ты не читаешь другие части моих постов. Есть процедура sort, она принимает указатель на компаратор. Вопрос: компаратор будет заинлайнен внутри sort, или это невозможно?
>>12814 > Есть процедура sort, она принимает указатель на компаратор. Вопрос: компаратор будет заинлайнен внутри sort, или это невозможно? О какой процедуре sort ты говоришь? Если об std::sort, то она шаблонная, поэтому она определяется в заголовочном файле, то есть инлайнингу ничто не препятствует. Если это какая-то другая sort и тело этой sort с телом компаратора после обработки препроцесcором не оказываются в одной единице трансляции, то в этом случае инлайнинга не будет.
>>12819 >Если об std::sort, то она шаблонная, поэтому она определяется в заголовочном файле, то есть инлайнингу ничто не препятствует. Как оказалось - таки препятствует. Ккомпаратор будет заинлайнен внутри sort только в том случае, если я передаю функтор. Правильно?
>>12820 > Ккомпаратор будет заинлайнен внутри sort только в том случае, если я передаю функтор. А как передать в std::sort не функтор? Если ты имеешь в виду просто вызов std::sort с двумя итераторами, то ясно, что если operator< для объектов того типа, на который указывает итератор, определён не в заголовочном файле (или он виртуальный), то его не заинлайнить.
>>12821 >template <class RandomAccessIterator, class Compare> >void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); >comp >Binary function that accepts two elements in the range as arguments, and returns a value convertible to bool. The value returned indicates whether the element passed as first argument is considered to go before the second in the specific strict weak ordering it defines. >The function shall not modify any of its arguments. >А как передать в std::sort не функтор? >This can either be a function pointer or a function object. >Если ты имеешь в виду просто вызов std::sort с двумя итераторами, Сообщение слишком длинное. Полный текст.
>>12820 > Как оказалось - таки препятствует. Если компилятору во время компиляции известно, куда именно указывает указатель на функцию, то теоретически он может заинлайнить её. В случае GCC помогает объявление __attribute__((flatten)) для функции, из которой происходит вызов std::sort. >>12822 > Придумал я свой класс, определил в них операторы сравнения, использую sort с двумя итераторами (компаратор по-умолчанию) - что же, метод сравнения не будет заинлайнен? Нужно тело оператора сравнения определять в header'е, тогда всё будет хорошо.
>>12824 О, хорошо сказал. То есть, чтобы всьо инлайнилось, надо: 1) использовать только те функции, реализация которых есть в боилерплейте, внутри которого мне нужны инлайны; 2) передавать функторы вместо указателей; 3) или писать "flatten". Олсо: что есть link time optimization?
>>12826 Link time optimization - прямо таки то, что значит название - оптимизация во время линковки obj-файлов между собой. Один obj-файл - один cpp-файл. Соответственно, что-то такое более мощное, чем оптимизация каждого по-отдельности. Вроде бы lte должно уменьшать размер бинарника. мимо-проходил-кун
>>11826 Передавать функторы в этом плане надёжней, нежели полагаться на специфичные для компилятора расширения или опции вроде -findirect-inlining.
- wahaba + wakaba 3.0.9 + futaba + futallaby -