klen (29.01.2020 13:10, просмотров: 239) ответил POV_ на Реинкарнация граблей с GCC и sprintf...
пианино это инструмент а не дрова, на пианине играть нада уметь, хотя многие его в качестве дров успешно продают. тут талант нужен либо продавана либо музляра.. нет таланта ниче не выйдет, по теме рискну предположить что проблема в выравнивании стека, был у меня косяг с printf год дабли и флоты выводились криво. нашел случайно. все ост,альнэое всегда все работало правильно. гцц оказался невиноват, нужнобыло выставить правильный бит в scb кортекса на предмет интерпретации младших битов адресаци стека. для себя вопрос с printf-like api решил окончатеэльно перейдя на с++11, используя шаблоны с переменным количеством параметров. сразу на круг 1) стало быстрее работать 2)стало невозможно всунуть не тот тип аргумента, 3) в рантайм автоматом отлавливается неодинаковое количество аргументов в формате и всунутых в функцию 4) до 4 аргументов стек не используется и передается все через регистры, и вот тут то как раз я могу гцц локально сказать чтоб напрмер 6 регистров использовать, кейл умеет это? 5) фписдучужиелибысграблями, то что я описал оформлено в виде хидера и ВКОМПИевывается сразу в место вызова инлайном.
фу...printf всем поколения говнокодеров кровь пил пьеь и будет пить, ибо ущербная модель на стеке размещать незнамо чего и незнами как, опять же либы могут быть разных сборок собраные разными компиляторами и с разными ключами - я это принчл как путь в валхалу и похоронил неоткрый инструментарий, пусть мне докажут что я потерял время, да я его 100 один раз вначале потерял в начале, а теперь всегда буду экономить.
история покажет ко экономически и стратегически поовильно оценил ситуацию.