![]() |
eXeL@B —› Вопросы новичков —› Странное поведение VS при отключении CRT. |
Посл.ответ | Сообщение |
|
Создано: 14 апреля 2017 22:26 · Личное сообщение · #1 Отключаем в настройках проекта использование CRT. Затем пытаемся вызвать strcmp, Естественно это не правильно, поскольку надо использовать lstrcmpA из WINAPI. Если теперь запустить сборку в Debug, то все логично(выскакивает ошибка strcmp не определена). Однако при сборке Release все работает без ошибок! Все перепроверил флаги выставлены идентично для обеих сборок, CRT нет однако Release ее использует? Подскажите в чем прикол, специалисты. ![]() |
|
Создано: 14 апреля 2017 22:37 · Личное сообщение · #2 Программа не может использовать то, чего нет. Посмотрите через ollydbg, что там вызывается. Добавлено спустя 2 минуты Там что-то связанное с инлайном. Встраивается код прямо в место вызова http://www.drdobbs.com/avoiding-the-visual-c-runtime-library/184416623 ----- Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей. ![]() |
|
Создано: 14 апреля 2017 23:27 · Поправил: rmn · Личное сообщение · #3 Crawler пишет: Там что-то связанное с инлайном. Встраивается код прямо в место вызова Не просто встраивается код, а используются интринсики вместо библиотечных функций (для многих простых функций типа strlen, strcpy, memcmp и т.п.) zombi-vadim Тебе нужно явно указать компилятору использовать интринсик даже в debug-сборке директивой: Code:
![]() |
|
Создано: 15 апреля 2017 00:10 · Личное сообщение · #4 rmnrmn пишет: Не просто встраивается код, а используются интринсики вместо библиотечных функций (для многих простых функций типа strlen, strcpy, memcmp и т.п.) Вы правы спасибо! ОпятьVS могучая и умная на шаг впереди меня! А есть ли какие то ограничительные флаги? Допустим мне вообще не нужно использовать strcmp потому как у меня есть свой аналог.. ![]() |
|
Создано: 15 апреля 2017 00:23 · Личное сообщение · #5 |
|
Создано: 15 апреля 2017 00:26 · Поправил: zombi-vadim · Личное сообщение · #6 |
|
Создано: 15 апреля 2017 01:36 · Личное сообщение · #7 |
|
Создано: 15 апреля 2017 14:00 · Поправил: v00doo · Личное сообщение · #8 -=AkaBOSS=-, сам же знаешь, что crt не отключают просто так, ибо функциональность в разы упадет, если не больше, тем более не наверчивают костыли поверх, цель явно сделать что-то "грязное", чтобы код был мал и не палился паттернами или типо того. ![]() |
|
Создано: 15 апреля 2017 16:51 · Личное сообщение · #9 |
|
Создано: 15 апреля 2017 21:54 · Поправил: zombi-vadim · Личное сообщение · #10 |
|
Создано: 15 апреля 2017 22:01 · Поправил: microxa · Личное сообщение · #11 zombi-vadim тут тематика больше даже крякерская.. так например этим доставал intel c++ пихая свои убер оптимизированые __ftol2_sse2 /atan_sse2 и вот memcpy туда куда его не просят.. Так что пришлось дорабатывать mcpcom.exe v8.0, занулять строки.. и чего то еще, менять по названиям .text1/.data1 поскольку обжи с него были негодные посли компиляции ml.exe и обработаные OMF утилитой( а углубляцо в изучение особо магических прагм, както обломно.) Так что проще обнулить в бинаре это дело. -=AkaBOSS=- >>подскажи, в чём прикол отрезать проекту ноги и заставлять его танцевать? так с такими нагло приделаными яйцами как раз и не попляшешь же же.. не говоря про богомерзкие печати баала в этом rich (вот с какой целью там оно делает а? ) ![]() |
|
Создано: 15 апреля 2017 22:05 · Поправил: zombi-vadim · Личное сообщение · #12 v00doo пишет: цель явно сделать что-то "грязное", чтобы код был мал и не палился паттернами или типо того. Я не пойму у всех паранойя какая то, что ли, если человек что то спрашивает, то обязательно он гнусный писатель вирусов. В результате ответов на мой пост, я узнал про интринсики, узнал про инлайн, узнал что параметры С++ - оптимизация (минимальный размер или скорость), как раз и служат для создания интринсиков и как работают эти флаги. Ну теперь я получил запретные знания и пойду напишу гнусную малварь.. P.S У меня создается стойкое ощущение, что на каждом форуме сидит пяток другой агентов мелкомягких, которые начинают тролить того, кто по их мнению лезет не в те сферы знаний.. ![]() |
|
Создано: 16 апреля 2017 00:10 · Поправил: v00doo · Личное сообщение · #13 zombi-vadim, я не один год юзаю студию друг мой, так же как и пишу код, и прежде всего я основываюсь на своих знаниях. И методы, обсуждаемые сейчас, в 75% используются там, где я написал, и под "грязные вещи" подходят не только вирусы и малварь, про которую я не писал даже, это так же инлайны исполнительного кода, хуки системных функций, прокси и т.п.. zombi-vadim пишет: узнал про инлайн, узнал что параметры С++ - оптимизация Все это итак узнается в процессе написания любого кода, рано или поздно приходит момент\задача в которой нужно будет заглянуть под капот, но большинство сюда приходит ничего не прочитав, и конечно же хочет на ложечке все скушать, я долгое время наблюдал за разными ветками подобных вопросов. ![]() |
|
Создано: 16 апреля 2017 00:25 · Поправил: zombi-vadim · Личное сообщение · #14 v00doo пишет: , но большинство сюда приходит ничего не прочитав, и конечно же хочет на ложечке все скушать Если вы не хотите помогать, то не помогайте, просто молчите, а не навешивайте ярлыки, форум для того и создан, что бы люди делились знаниями, а раз вы такой умный и ни с кем делиться не хотите, то что вы здесь делаете? v00doo пишет: долгое время наблюдал за разными ветками подобных вопросов Для чего, я вот не наблюдаю и многие я думаю тоже. Добавлено спустя 17 минут Вообщем прошу модератора закрыть тему, потому что смысл утерян. ![]() |
|
Создано: 16 апреля 2017 01:14 · Личное сообщение · #15 |
|
Создано: 16 апреля 2017 01:22 · Личное сообщение · #16 |
|
Создано: 16 апреля 2017 01:24 · Личное сообщение · #17 Автор сам может закрыть свою тему, кнопка "Закрыть тему" находится внизу страницы, под кнопкой "Отправить сообщение". ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Странное поведение VS при отключении CRT. |
Эта тема закрыта. Ответы больше не принимаются. |