c++ обьявить переменную в секции кода

Тема в разделе "WASM.BEGINNERS", создана пользователем cornolio, 4 фев 2010.

  1. cornolio

    cornolio New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2009
    Сообщения:
    50
    имеем VS 2008 и компилятор из этого набора соответственно, как обьявить переменну чтоб после сборки она оказалась в секции кода? то что в секцию кода запрещена запись это понятно, но и нада статичная переменная, и вариант с обьеденинием секций тоже не подходит( подскажите как сделать?
     
  2. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Как вариант - с помощью асма вставить нужно количество байт, а потом ручками (Хью) подправить все смещения чтобы они указывали куда надо.

    А зачем такое жуткое извращение??? Объяснение может реально помочь.
     
  3. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Код (Text):
    1. #pragma const_seg(push, ".text")
    2. const int x = 0x2A;
    3. #pragma const_seg(pop)
    4.  
    5. #pragma data_seg(push, ".text")
    6. int y;
    7. #pragma data_seg(pop)
    8.  
    9. __declspec(allocate(".text"))
    10. int z;
     
  4. cornolio

    cornolio New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2009
    Сообщения:
    50
    вот оно) спс Sol_Ksacap , а суть в том что если запихать большой массив байт в секцию данных и в итоге получить данные>код, то идиотские АВ программы говорят якобы Троян Пак/Генерик и т.п((
    а если засунуть в секцию с кодом то норм)
     
  5. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    да ну нафиг. прям таки из-за размера секции данных? даь куча прог, у которых ресурсы занимают большую часть ехе'шника.
     
  6. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    maksim_
    так то ресурсы, а не данные
    какбэ RT_BITMAP - хорошо, а RT_DATA - палево
    хотя заголовок ресурса оно всеравно может проверить
     
  7. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    GoldFinch так суть не в этом. вопрос в размере секции данных. блин, есть какая-нибудь графическая приблуда - хранит у себя в секции данных 3d модель. модель может занимать несколько метров, против кода в 100кб.
     
  8. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    continue
    не все компиляторы знают что такое ресурсы. некоторые просто запихивают всё в секцию .data. насколько мне помнится, GCC не очень-то с ними дружит. так что там всё запихивается в обычный хидер.