Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by nerezus, 29 Oct 2008.

  1. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    поизучай этот код.
    Code:
     char *split(char *s1, char *s2)
    {
        char *p = new char[strlen(s1) + strlen(s2) + 1];
        char* result = p;
    
        while( *p++ = *s1++ ) ;  
        p--;
        while( *p++ = *s2++ ) ;  
    
    
        return result;
    }  
    пара замечаний - не делай выделение памяти в одной функции, а освобождение в другой. или же делай класс, чтобы скрыть управление памятью(собсно тот самый string так и работает). если без классов - то первую строку переносишь в место вызова и добавляешь третий параметр - строка которая будет содержать результат.

    второе - p[j++] = *s2++;
    если уж делаешь через разыменовывние - делай все через разыменование. или все через индекс. а то этот код заставляет лишний раз на нем сфокусироваца.
     
    #241 Ra$cal, 1 Jul 2009
    Last edited: 1 Jul 2009
  2. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    [​IMG]


    http://4italka.okis.ru/

    Классный сайт практически только хорошие книги сам прочел большую часть
    книги по программированию на языках Assembler,Delphi,Pascal.DirectX 9.OpenGL,C++,C#,Cи,Java2,Visual Basic,Visual Studio.NET,Perl, Хакинг
     
  3. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    хак дельфи книги скачать бесплатно..

    писал бы уж сразу ключевиками. тема не для этого создана!
     
    1 person likes this.
  4. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    слушай я нечего не писал оформил по симпатичней и всё а то коппипаст с главной страницы сайта
    МНОГО ХОРОШИХ КНИГ
    http://4italka.okis.ru


    Вот так устроит ?:)
     
  5. ZaYaZ

    ZaYaZ New Member

    Joined:
    4 Jul 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Не знаю мб уже было тут но вот 4 издание книги для С++ http://samouchka.net/ebooks/yap/cpp/17014-osvojj-samostojatelno-c-za-24-chasa-4-e-izdanie.html
     
  6. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    Я не понимаю что вообще подобные посты делают в этой теме.


    мой вопрос:

    как подключить курл к С++?
    скачал curl-7.16.2, положил папку curl в проект, подключил:

    #include "curl/curl.h"

    ошибки:
    Code:
    `curl_easy_cleanup' was not declared in this scope	main.cpp	curl	84	C/C++ Problem
    Description	Resource	Path	Location	Type
    `curl_easy_perform' was not declared in this scope	main.cpp	curl	81	C/C++ Problem
    `curl_easy_setopt' was not declared in this scope	main.cpp	curl	73	C/C++ Problem
    `CURL_ERROR_SIZE' was not declared in this scope	main.cpp	curl	20	C/C++ Problem
    `curl' was not declared in this scope	main.cpp	curl	64	C/C++ Problem
    
    и тп..
    
    вроде бы надо скомпилировать сорцы, чтобы получить *.lib файл, а потом присоединить его к компилятору.
    но я во-первых не знаю как скомпилить в винде - МС Визуал студио выдает 300 ошибок,
    во вторых как правильно подключать *.lib к связке minGW+eclipse ?
    вроде бы через линкер он раньше ругался + в чужих примерах я не вижу никакого линкования в коде.
     
  7. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    ага, надо.
    читай README к либсе, там все написано.
    В ключах компилятора дописываешь -l<libname>
     
  8. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    а куда в таком случае положить либу?
     
    #248 Дикс, 13 Jul 2009
    Last edited: 13 Jul 2009
  9. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    положил /curl/*.h в mingw/include
    а libcurl.a и libcurldll.a в mingw/lib

    всё равно ошибки

    C:/qt4/projects/curl/Debug/../main.cpp:68: undefined reference to `_imp__curl_easy_init'
    C:/qt4/projects/curl/Debug/../main.cpp:73: undefined reference to `_imp__curl_easy_setopt'
    C:/qt4/projects/curl/Debug/../main.cpp:74: undefined reference to `_imp__curl_easy_setopt'
    C:/qt4/projects/curl/Debug/../main.cpp:75: undefined reference to `_imp__curl_easy_setopt'
    C:/qt4/projects/curl/Debug/../main.cpp:76: undefined reference to `_imp__curl_easy_setopt'
    C:/qt4/projects/curl/Debug/../main.cpp:77: undefined reference to `_imp__curl_easy_setopt'
    main.o:C:/qt4/projects/curl/Debug/../main.cpp:78: more undefined references to `_imp__curl_easy_setopt' follow
    main.o: In function `main':
    C:/qt4/projects/curl/Debug/../main.cpp:81: undefined reference to `_imp__curl_easy_perform'
    C:/qt4/projects/curl/Debug/../main.cpp:84: undefined reference to `_imp__curl_easy_cleanup'
     
  10. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    добавил в параметры компилятора библиотеку curl
    ------------

    g++ -IC:\qt4\minGW\include\curl -O0 -g3 -Wall -c -fmessage-length=0 -DCURL_STATICLIB -g -Lcurl/lib -omain.o ..\main.cpp
    g++ -LC:\qt4\minGW\lib -ocurl.exe main.o -lcurl

    C:\qt4\minGW\lib/libcurl.a(easy.o):(.text+0x7e): undefined reference to `WSAStartup@8'
    C:\qt4\minGW\lib/libcurl.a(easy.o):(.text+0x9b): undefined reference to `WSACleanup@0'
    C:\qt4\minGW\lib/libcurl.a(easy.o):(.text+0x188): undefined reference to `WSACleanup@0'
    C:\qt4\minGW\lib/libcurl.a(sendf.o):(.text+0xa1): undefined reference to `recv@16'
    C:\qt4\minGW\lib/libcurl.a(sendf.o):(.text+0xb9): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(sendf.o):(.text+0x73d): undefined reference to `send@16'
    C:\qt4\minGW\lib/libcurl.a(sendf.o):(.text+0x758): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0xf3): undefined reference to `ioctlsocket@12'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x193): undefined reference to `getsockopt@20'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x1c7): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x206): undefined reference to `setsockopt@20'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x45e): undefined reference to `socket@12'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x4f4): undefined reference to `setsockopt@20'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x5fe): undefined reference to `bind@12'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x63f): undefined reference to `ntohs@4'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x709): undefined reference to `closesocket@4'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x73b): undefined reference to `connect@12'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x7c9): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x8a9): undefined reference to `getsockname@12'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x8e0): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x92c): undefined reference to `htons@4'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x94b): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0x97d): undefined reference to `WSAGetLastError@0'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0xae0): undefined reference to `htons@4'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0xb18): undefined reference to `closesocket@4'
    C:\qt4\minGW\lib/libcurl.a(connect.o):(.text+0xcbd): undefined reference to `WSAGetLastError@0'
     
  11. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    всё, удалось
    оказывается чтобы юзать либу curl надо добавить параметры:

    -DCURL_STATICLIB
    -lcurl
    -lwldap32
    -lwsock32
     
  12. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Сразу же видно что ошибки линковки валятся с либсы сокетов, значит ее надо было подключить что ты наверно и сделал ))
     
  13. ASQX

    ASQX Elder - Старейшина

    Joined:
    21 Jun 2008
    Messages:
    47
    Likes Received:
    16
    Reputations:
    1
    спасибо за книги по си, только после установки висуал си от микрософта не которые программы начинают глючить, ошибки выбивают, точно ошибку не помню, :eek:
     
  14. M@ZAX@KEP

    M@ZAX@KEP Member

    Joined:
    11 Jun 2009
    Messages:
    83
    Likes Received:
    23
    Reputations:
    0
    ТС-у спс за ссылгу на среду работы в С++ от мелкомягких (Microsoft Visual C++)... но йа вот также слышал что-то про компиляторы фирмы Borland (очень уж много моззго**ства с этим Microsoft Visual C++). Чем Borland лучше, стоит ли его качать, насколько он проще\удобнее в использование в отличие от детища вездесущих мелкомягких?

    ЗЫ или йа что-то перепутал?

    ЗЗЫ интересует в первую очередь простата создания не консольных приложений, а программ с графическим пользовательским интерфейсом (GUI)
    ________________________________
    Microsoft must die!!!
     
  15. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    качай borland

    Может лучше выучить сначала русский язык, а потом приступать к С++ ...

    ps.
    Здесь ты такими фразами никому ничего не докажешь, кроме ограниченности своих взглядов.
     
    #255 Fata1ex, 30 Jul 2009
    Last edited: 30 Jul 2009
  16. МММ

    МММ Banned

    Joined:
    27 Jul 2009
    Messages:
    8
    Likes Received:
    3
    Reputations:
    0
    аденома?
    :(
     
  17. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Не понимаю твою ненависть к МС.. ты же кодишь для винды... если так ненавидишь, дк программируй под юникс...
    Думаю Borland C++ Builder в самый раз подойдет тебе... Оболочка как в делфях, тока язык с++...тыц
     
  18. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Borland C++ Builder - это самое фуфловое что может быть.
    Изуродованное сиподобное делфи )

    Понимаешь что не любишь MS только тогда когда сталкиваешься с такими проблемами которые не имеют адекватного решения и чаще всего они есть только в ядре.

    Зато начинаешь любить MS тогда, когда долго кодишь под винду, а потом пытаешься накодить под Linux ) Но это чисто связано с привычкой.

    А на счет сначало выучить рус яз, а потом С++ - тут вы совершенно не правы. Так получается что у мена грамматика русского языка ооочень хромает. Спасает только то, что в FF есть проверка орфографии. Но при этом я хорошо знаю языки программирования. (жаль в Delphi и С++ нету проверки орфографии в русском тексте. очень жаль (((
     
    2 people like this.
  19. Dr.Perry_Cox

    Dr.Perry_Cox Member

    Joined:
    24 May 2009
    Messages:
    16
    Likes Received:
    10
    Reputations:
    0
    А можно ли начинать свой путь в мир программинга с изучения ассемблера?
     
    #259 Dr.Perry_Cox, 31 Jul 2009
    Last edited: 31 Jul 2009
  20. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    А почему бы и нет?

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

    Насчет грамматики я не говорю, что без русского языка программистом не станешь, однако он все же должен быть приоритетным, по-моему:)