Тут размещают свои топики новички в С/С++.

Тема в разделе "LANGS.C", создана пользователем nitrotoluol, 4 мар 2007.

  1. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    лучше не вводить метки.
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Ivan_assm

    Никак. Метки видны только в том скоупе, в котором они находятся (ну и внутренних).
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Ivan_assm
    c моим компилятором проходит, но я бы не стал такое делать:
    Код (Text):
    1. int offs = 0;
    2.  
    3. void foo()
    4. {
    5. __asm {
    6.   mov eax, l2
    7.   mov [offs], eax
    8. }
    9. return;
    10. l2:
    11. printf("l2 label\n");
    12. }
    13.  
    14. void bar()
    15. {
    16.   __asm {
    17.     mov eax, offs;
    18.     jmp eax
    19.   }
    20. }
    21.  
    22. main()
    23. {
    24.   __asm int 3;
    25.   foo();
    26.   bar();
    27. }
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Ivan_assm
    А если не секрет зачем?
    Передавай в функцию дополнительный флаг и в зависимости от него выполняй или не выполняй стартовый код.
    А вообще это труднореализуемо с технической точки зрения, ибо что делать со стеком то тогда и локальными переменными?
     
  5. Ivan_assm

    Ivan_assm New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2007
    Сообщения:
    132
    Адрес:
    Везде и нигде
    да эт я так, ... решил поэкспериментировать в процессе изучения С++

    спасибо за ответы.

    censored thanks
     
  6. Kira

    Kira New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2008
    Сообщения:
    17
    Нубский вопрос
    Библиотеки типа Boot, Qt, wxWidget являются кросплатформенными.
    Как компилить проект чтобы получилась прога запускающаяся на винде и линуксе?
     
  7. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Kira
    Для linux есть прога -загрузчик виндовских программ. По-другому - никак afaik
     
  8. Yashin

    Yashin New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2008
    Сообщения:
    19
    Компилить отдельно для Винды и для Линуха
     
  9. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Kira
    Исполняемые файлы бинарно несовместимы, только эмуляторы.
     
  10. eju

    eju New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    1
    для wxWidget использовать Python :) А так ни как ... только раздельная компиляция на каждой из плтаформ...
     
  11. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    Kira
    В данном случае под кроссплатформенностью скорее всего понимается - переносимость с одной платформы на другую на уровне исходных кодов. Тобишь просто пересобрать нужно под необходимой платформой, если она конечно поддерживается.
     
  12. Kira

    Kira New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2008
    Сообщения:
    17
    Понятно, большое спасибо, но я всеже слышал о прогах которые одинаково работают на разных платформах...
    хотя скорее всего не так просто понял.
     
  13. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Практически этого можно достигнуть, но собирать всё же нужно их под конкретными системами. Иначе - эмуляция или интерпретация (скриптов).
     
  14. vxctime

    vxctime New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2007
    Сообщения:
    8
    Подскажите код на С++ (под Borland-om сижу ).
    Который бы занимал мало места.
    Для произведения видео из файла.
    Так понимаю без MediaPlayer-a не обойтись.
     
  15. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    vxctime
    см. DirectShow
     
  16. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    vxctime
    Код (Text):
    1. typedef void(__stdcall *PF)(void*,void*,void*,void*);
    2. PF pf = (PF)GetProcAddress(LoadLibrary("msdxm.ocx"), "RunDllW");
    3. pf(0,0,0,0);
     
  17. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    подскажите, чего не так в этом куске кода.
    Код (Text):
    1.        char current;
    2.      
    3.     while(1) {
    4.                 printf("input a character:");
    5.         current = getchar();
    6.         if (!strcmp(&current,"q")){
    7.             break;
    8.         }
    9.         if (!isdigit(current)){
    10.             printf("expected digit\n");
    11.         }
    12.     }
    не пойму, почему при вводе цифр вылетает "expected digit", а также почему при вводе русских букв вместо одного раза выводится два раза "expected digit". где я пролетел?
     
  18. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    varnie
    Сам так попался, правда на асме.
    getchar() считывает не только введённую цифру, но ещё и 0x0D0A.
     
  19. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    как можно сделать что-то наподобие:
    Код (Text):
    1. std::vector< CFoo *> vec;
    2. при условии, что CFoo является обобщенным классом:
    3. template <class Data>
    4. class CFoo{
    5.     Data _data;
    6. public:
    7.     CFoo(const Data &data):
    8.         _data(data){
    9.     }
    10.     ....
    11. };
    смысл в том, что хочется иметь не кучу векторов для разных
    Код (Text):
    1. CFoo<T>
    , а лишь один
    Код (Text):
    1. std::vector< CFoo *> vec
    и заполнять его по мере необходимости параметризированными объектами класса CFoo:
    Код (Text):
    1. vec.push_back( new CFoo<int>() );
    2. vec.push_back( new CFoo<char>() );
    подозреваю, что так вообще нельзя сделать и для хранения массивов разных специализаций CFoo придется отводить отдельный вектор.

    //updated
    сейчас поразмышлял и пришел к выводу что все это можно переписать, отнаследовав все эти параметризованные классы от базового непараметризованного. а в векторе уже хранить указатели на этот базовый класс. и тогда все работает без проблем.

    но по прежнему интересно, а можно ли как-нить по другому?
     
  20. yurza

    yurza New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2008
    Сообщения:
    69
    Народ извиняюсь мож за глупый вапрос но объясните мне как а Borlad C++ Builder 5 вызвать функции Nativ API к примеру ZwQuerySystemInformation.