HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2991  
Старый 18.05.2009, 17:03
awdrg
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме:
505362

Репутация: 66
Отправить сообщение для awdrg с помощью ICQ
По умолчанию

Дайте пожалуйста мануал по С++ функциям для файловой системы. Тоесть ls всех файлов/папок, нахождение пути к системным папкам, нахождения пути к запущеному файлу и т д. С меня плюсы. Спасибо
 
Ответить с цитированием

  #2992  
Старый 18.05.2009, 17:30
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

Таак...
Пытаюсь скомпилить с -static , но чото не идет дело.
В pkg-config указываю параметр --static. Т.е. запрос такой:
pkg-config --libs-only-L --static --cflags gtkmm-2.4
В параметры g++ добавил -static.
Добавил -lgtkmm-2.4.dll ( .dll это только название, на самоме деле gtkmm-2.4.dll.a) и др. с библиотеки GTKmm 2.4.
Компиляция вроде все норм завершилась, но .ехе весит пол метра и все равно просит библиотеки ;{
 
Ответить с цитированием

  #2993  
Старый 18.05.2009, 17:37
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
Добавил -lgtkmm-2.4.dll ( .dll это только название, на самоме деле gtkmm-2.4.dll.a) и др. с библиотеки GTKmm 2.4.
Компиляция вроде все норм завершилась, но .ехе весит пол метра и все равно просит библиотеки
Посмотри от каких именно библиотек идут зависимости.
 
Ответить с цитированием

  #2994  
Старый 18.05.2009, 18:15
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

C:\GTK\bin\libgdk-win32-2.0-0.dll
C:\GTK\bin\libpangomm-1.4-1.dll
C:\GTK\bin\zlib1.dll
C:\cygwin\bin\cygwin1.dll - эта пофиг.
C:\GTK\bin\libgtk-win32-2.0-0.dll
C:\GTK\bin\libcairomm-1.0-1.dll
C:\GTK\bin\libatk-1.0-0.dll
C:\GTK\bin\libgobject-2.0-0.dll
C:\GTK\bin\libgdk_pixbuf-2.0-0.dll
C:\GTK\bin\libpango-1.0-0.dll
C:\GTK\bin\libglibmm-2.4-1.dll
C:\GTK\bin\libglib-2.0-0.dll
C:\GTK\bin\libcairo-2.dll
C:\GTK\bin\libpng12-0.dll
C:\GTK\bin\libgdkmm-2.4-1.dll
C:\GTK\bin\libsigc-2.0-0.dll
C:\GTK\bin\libpangowin32-1.0-0.dll
C:\GTK\bin\libgiomm-2.4-1.dll
C:\GTK\bin\libgtkmm-2.4-1.dll
C:\GTK\bin\libpangocairo-1.0-0.dll
C:\GTK\bin\libgio-2.0-0.dll
C:\GTK\bin\libgmodule-2.0-0.dll
C:\GTK\bin\libatkmm-1.6-1.dll

Как я понимаю вы это просили? Ну избавиться я хочу от них, т.е. статически слинковать. Я понимаю, что так все статически слинкуется, вообще все, даже те , что уже есть в системе, но у меня даже так не получается.
 
Ответить с цитированием

  #2995  
Старый 18.05.2009, 18:35
kRa$I-I
Познающий
Регистрация: 23.01.2009
Сообщений: 32
Провел на форуме:
96906

Репутация: 8
По умолчанию

[QUOTE]to razb: ты не ответил ни на один мой вопрос....(красота меня ни шибко волновала)
вопрос в силе:
И все таки как взять строку из textBox если заранее ее длина неизвестна?

И вообще кто-нибудь может объяснить мне разницу между System::String ^ , string(из инклуда <string.h>) char * и char! Это меня уже 3 день в ступор вводит....
И че это за оператор подозрительный ^; не нравится он мне
 
Ответить с цитированием

  #2996  
Старый 18.05.2009, 19:11
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

Почитай сначала это
Не вижу смысла повторять то, что уже написано, и не раз написано. Про String^ забудь. Это не чистый с++. Помесь с++ и дотнета. Оно тебе все равно рано.
 
Ответить с цитированием

  #2997  
Старый 18.05.2009, 20:14
kRa$I-I
Познающий
Регистрация: 23.01.2009
Сообщений: 32
Провел на форуме:
96906

Репутация: 8
По умолчанию

Raskal ты зря думаешь что мне рано и я задаю вопросы потому, что жить скучно. У меня на компе самоучителей по С++ штук 8 валяется....один из них меня заинтересовал "освой С++ за 21 день" и я его читаю.....просто во всех книгах описываются перегруженные функции, операторы, типы данных и классы, как по шаблону....но нигде не написанна разница между массивами данных массивом данных заканчиваюшимся 0 и анси строкой заканчивающейся 0.....Просто после Object Pascal где был тип string такое изобилие строк в с++ мне непонятно......
И если так трудно ответить на такой простой вопрос, может вопрос не такой уж простой?
Я пытаюсь делать так:

private: System::Void bbConn_Click(System::Object^ sender, System::EventArgs^ e) {
String ^szAddr = "172.23.0.74";
SOCKET hSocket;
struct sockaddr_in server;
//Получаем IP servera
szAddr = textBox1->Text;
//Создаем сокет
hSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//Заполняем структуру sockaddr_in
server.sin_family = AF_INET;
server.sin_port = htons(1313);
server.sin_addr.S_un.S_addr = inet_addr(szAddr);
iRet = connect(hSocket, server, sizeof(server));
}
А он говорит: error C2664: inet_addr: невозможно преобразовать параметр 1 из 'System::String ^' в 'const char *'
Я и пытаюсь разобратся в изобилии строк С++.....Раздел ведь для новичков....
 
Ответить с цитированием

  #2998  
Старый 18.05.2009, 20:31
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

ну а зачем ты себе жизнь усложняешь, используя мэнэджед с++ ? разберись сначала с чистым с++ без всякого гуя. а ты пытаешься все и сразу освоить. char* - обычный массив символов, заканчивается на 0. но не обязательно. ибо в си как таковых строк не было. в си все массивы по сути байтовые, суй что хочешь. просто задание типа char подсказывает программисту, что это массив символов. но ты легко засунешь туда любые байты, которые не отражают никаких символов. а char* как раз растет из си. на деле этот тип данных используют очень редко. только при вызовах апи. ибо в виндос строки представляют из себя также терминированные нулем массивы байтов. но внутри своей программы ты можешь(и даже должен) использовать более адекватные типы. например класс std::string. по сути это просто оболочка для char*. по сути все классы строк - оболочки для char*. они управляют памятью, предоставляют сервисные методы типа toUpper, или перегруженные методы для сравнения и складывания строк. У всех есть метод получения указателя на строку. для того, чтобы как раз использовать эти классы с системными вызовами. дальше идет класс CString из atl или мфц. он весьма удобный, но не кроссплатформенный. у него метод получения строки GetBuffer(). у класса std::string метод получения указателя c_str(). так же операторы перегружены приведения типов, например LPCSTR. а вот использование мэнэджэд с++ приводит к проблемам, ибо по философии дотнет программисту не дается право управлять памятью напрямую. управление памятью лежит на совести вм дотнета. суть в том что мэнэджэд программы не должны вызывать апи и старые функции. потому что это нарушает философию. для этого в дотнете есть ОГРОМНОЕ количество классов, полностью повторяющих апи. именно поэтому учиться с++ с мэнэджэд плюсов мягко говоря глупо. ты учишь наполовину с++ наполовину дотнет, причем не понимаешь, в чем суть дотнета. хочешь делать окошки - используй мфц проекты с++.

Последний раз редактировалось Ra$cal; 18.05.2009 в 20:40..
 
Ответить с цитированием

  #2999  
Старый 18.05.2009, 20:41
kRa$I-I
Познающий
Регистрация: 23.01.2009
Сообщений: 32
Провел на форуме:
96906

Репутация: 8
По умолчанию

Внушительно.....спасибо...это достойный ответ который многое прояснил..... Держи ++
 
Ответить с цитированием

  #3000  
Старый 18.05.2009, 20:44
kRa$I-I
Познающий
Регистрация: 23.01.2009
Сообщений: 32
Провел на форуме:
96906

Репутация: 8
По умолчанию

Не не дает + ставить говорит:
Вы должны добавить репутацию кому-то еще, прежде чем сможете снова добавить ее Ra$cal.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ