RE: Вопросы по C/C++ (Для новичков)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 19:04:16.863333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: Lost_boy Нужно сделать преобразование типов. Сделаешь преобразование типов - получишь ошибку, которую точно не поймёшь. А вообще тебе русским языком написал компилятор - читай про ЮНИКОД.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 19:06:00.900000
|
|
|
lito777
Сообщений: 51
Оценки: 0
Присоединился: 2009-01-30 04:52:45.883333
|
quote:
ORIGINAL rat_splinter HINSTANCE exLib = LoadLibrary("dll.dll"); http://www.google.com/search?hl=ru&q=%27const+char%27+%D0%B2+%27LPCWSTR%27
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 19:07:03.336666
|
|
|
Lost_boy
Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
|
quote:
ORIGINAL: _SaZ_ Сделаешь преобразование типов - получишь ошибку, которую точно не поймёшь. Почему не поймешь? Гугл выдает достаточно примеров, большинство рабочие =) Надо только сделать копипаст и скомпилировать.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 19:48:08.476666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Преобразование типов: LoadLibraryW( (LPWSTR)"my.dll" ); - будет крэш. В данном случае нужно использовать макрос _T(), чтобы избежать такого геммороя.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 19:57:43.473333
|
|
|
Lost_boy
Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
|
Использование этого макроса - первая ссылка, которую выдает гугл. Так что это не проблема, нужно только поискать и попробовать запустить.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 20:25:20.306666
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
del
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 22:33:21.090000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Привести указатели к нужному типу.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 23:04:07.070000
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
del
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-11 23:16:10.446666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
Как я понимаю, правильного способа нет. Единственный правильный – это объявление IMAGE_IMPORT_DESCRIPTOR с модификатором const, и инициализация при объявлении. Если такой способ не катит, значит надо делать неправильно. Как это сделать – я не знаю. gcc скажем съедает преобразование с потерей const, лишь варнинг выкидывает. По-науке же, необходимости таких преобразований не должно возникать.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 00:50:10.990000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: rgo Как я понимаю, правильного способа нет это ещё почему?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 01:28:32.650000
|
|
|
rat_splinter
Сообщений: 40
Оценки: 0
Присоединился: 2007-12-15 02:23:31.840000
|
Добрый вечер) тут такой вопрос - реши по тихонечку с delphi на с++ перебираться, и вот с чем сталкнулся при создании даже простейшего приложения exe'шник весит порядка 40-50кб… вот например int
main(int argc, char **argv)
{
return 0;
} программа которая ВООБЩЕ ничего ни делает и состаит всего из одной главной функции весит 34,5 КБ…как так? слышал что иногда можно делать вот так дабы слишком жирыне приложения не получались: #pragma optimize("gsy",on)
#pragma comment(linker, "/nodefaultlib:libc.lib")
#pragma comment(lib, "msvcrt.lib")
#pragma comment(linker, "/MERGE:.data=.text")
#pragma comment(linker, "/MERGE:.rdata=.text")
#pragma comment(linker, "/SECTION:.text,EWR")
но даже при таком подходе размер exe'шника остаётся прежним… обьясните что не так… А , да , самое главное =) компилятор Visual C++ 2008 экспресс….
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 01:34:50.640000
|
|
|
Lost_boy
Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
|
Видимо просто твои заголовочные файлы содержат много лишнего, того чего ты не используешь, за счет этого и такой размер. Ты получается взял телегу хвороста, а используешь 1 прутик. Если не прав, поправьте.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 01:53:09.956666
|
|
|
rat_splinter
Сообщений: 40
Оценки: 0
Присоединился: 2007-12-15 02:23:31.840000
|
так в том то и дело что ни одного заголовочного файла то не подслючено! =)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 01:53:15.816666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Просто не надо загоняться по этому поводу. Если гонишься за микроразмерами - пиши на асме.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 01:56:23.603333
|
|
|
Lost_boy
Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
|
Все равно при сборке программы туда пихается много чего. _SaZ_ прав, если тебе действительно критично важен размер то используй асм, правда обычно это узкие задачи или же просто делают вставки из асма. З.Ы. проверил ща у себя, ехе-шник весит 27 кб =)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 02:00:09.933333
|
|
|
rat_splinter
Сообщений: 40
Оценки: 0
Присоединился: 2007-12-15 02:23:31.840000
|
не, до асма пока не хочется опускаться… просто сколько раз слышал про то что на Си бинарнике намного меньше весят чем на делфи, в принципи поэтому и хател на него пересесть- а тут прям сразу в лоб такая фигня… эхехех =) ладно,всем спосибо)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 02:07:16.520000
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
На Делфи 7 когда-то легко делал бинарик то ли 16, то ли 7кб. На Component Pascal в BlackBox - 2кб. После этого перестал загоняться на микроразмеры, чего и тебе советую.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 02:10:56.533333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Если не хватает знаний понять почему, то стоит спросить самого себя: а зачем мне это нужно? А потом уже в гугл ;), ибо статей на эту тему хватает.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 03:54:50.430000
|
|
|
lito777
Сообщений: 51
Оценки: 0
Присоединился: 2009-01-30 04:52:45.883333
|
quote:
ORIGINAL: Sunzer Как это правильно сделать? IMAGE_IMPORT_DEsсriрtOR.APITableName = &kernel32; char *APITableName; APITableName указатель на char kernel32 массив char констант Посоветуйте книгу по С\С++ хорошую struct struct_IMAGE_IMPORT_DEsсriрtOR { … char* const *APITableName; … }; IMAGE_IMPORT_DEsсriрtOR.APITableName = kernel32; Книга: "Язык программирования С++. Вводный курс. 4-е изд." Стенли Липпман rat_splinter, у меня GCC 4.4.3 бинарник весит 7кб
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 05:38:28.330000
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: Denaturat quote:
ORIGINAL: rgo Как я понимаю, правильного способа нет это ещё почему? А просто так. Я исхожу из трёх, весьма правдоподобных предположений: 1. kernel оказывается const далеко не случайно, и именно const'ом он и должен быть. 2. инстанс структуры не может быть объявлен с модификатором const 3. Sunzer пишет на C. Ах, нет же, есть ещё четвёртое предположение: преобразование типа, приводящее к потере константности – это неправильно.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-12 12:03:34.386666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: rgo Ах, нет же, есть ещё четвёртое предположение: преобразование типа, приводящее к потере константности – это неправильно. если бы у бабушки были яйца…если бы у C была строгая система типов, это был бы уже не C
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-14 21:22:37.266666
|
|
|
Skvidvart
Сообщений: 1
Оценки: 0
Присоединился: 2010-04-01 13:32:26.456666
|
мм добрый день.у меян вот такая проблема хочу прочитать подразделы католога реестра например HKEY_LOCAL_MACHINE то есть его подразделы HARDWARE SAM SECURITY SOFTWARE SYSTEM…вобщем вывести эти названия..пользуюсь функцией RegOpenKeyEx для открытия раздела и RgEnumKeyEx для перечисления подразделов…и вот как то нчиего не получается…он вывводит только первые два…Посмотрите код пожалуйста в чем ошибка?C++ Builder 6 КОД: int i; char o[1000]; unsigned long p[1000],u[1000]; Longint f; HKEY hkey; RegOpenKeyEx(HKEY_LOCAL_MACHINE,NULL,0,KEY_ENUMERATE_SUB_KEYS,&hkey); i=0; f=RegEnumKeyEx(hkey,i,o,p,NULL,NULL,u,NULL); do { Memo1->Lines->Add(o); i=i+1; f=RegEnumKeyEx(hkey,i,o,p,NULL,NULL,u,NULL); } while (i==ERROR_SUCCESS);
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 12:35:59.173333
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
Нашел библиотеки которые понадобятся для работы, смутило лишь то что они для VC++ 6 А вот например для Borland C++ или Dev C++ они работать чтоли уже не будут?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 12:47:19.953333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: FriLL Нашел библиотеки которые понадобятся для работы, смутило лишь то что они для VC++ 6 А вот например для Borland C++ или Dev C++ они работать чтоли уже не будут? а если подумать?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 12:57:33.810000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Смотря какие библиотеки ;). Самый простой вариант - попробовать их собрать. Но VC 6 - зло.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 13:39:43.613333
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
http://www.chilkatsoft.com/ssh-sftp-c++.asp
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 13:47:30.356666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: FriLL http://www.chilkatsoft.com/ssh-sftp-c++.asp По ссылке есть библиотеки для студий от 6 до 9.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 16:56:12.486666
|
|
|
m_Sam
Сообщений: 15
Оценки: 0
Присоединился: 2010-05-13 12:11:24.050000
|
quote:
Добрый вечер) тут такой вопрос - реши по тихонечку с delphi на с++ перебираться, и вот с чем сталкнулся при создании даже простейшего приложения exe'шник весит порядка 40-50кб… вот например но даже при таком подходе размер exe'шника остаётся прежним… обьясните что не так… А , да , самое главное =) компилятор Visual C++ 2008 экспресс…. Хм… Попробуй скомпилить в режиме Release. Есть ещё полезная програмка ASPack для уменьшения объёма - это если надо.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 19:10:02.053333
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
quote:
ORIGINAL: _SaZ_ quote:
ORIGINAL: FriLL http://www.chilkatsoft.com/ssh-sftp-c++.asp По ссылке есть библиотеки для студий от 6 до 9. Мне вообще к Borland C++ надо будет
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-17 21:53:50.493333
|
|
|
messenage
Сообщений: 21
Оценки: 0
Присоединился: 2010-03-03 21:23:49.290000
|
Здравствуйте! можно ли сделать так. чтоб у CFormView был фиксированный размер? и если да то как?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 00:10:51.543333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Погуглить о том, какие стили могут быть у окна и выставить соответствующий бордюр.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 13:52:29.746666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
Привет у меня такой вопросик как сделать что бы при выводе символов в listbox выводились символы а не их аски код вот пример функции : void FullAlph(){ int ind=0; String ^str; this->listBox2->Items->Clear(); for (int i=0;i<2;i++){ for (int x=0;x<5;x++){ ind++; if(vres[x]==1){ str=Convert::ToString(Alph[ind]); this->listBox2->Items->Add(str); }}}}
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 14:32:32.600000
|
|
|
Lost_boy
Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
|
Посмотри нормально описание функций, которые используешь. З.Ы. Руки бы отрывал за нечитабельный код, сколько можно?! Тэги code для кого придумали?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 19:29:27.476666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
Я бы не спрашивал если бы не смотрел описание функций . А про нечитабельный код уж извините с мобилы пишу . А если в языке шаришь то все поймешь.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 19:33:47.543333
|
|
|
sbk
Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
|
Попробуй написать так: void FullAlph()
{
int ind=0;
String ^str;
this->listBox2->Items->Clear();
for (int i=0;i<2;i++)
{
for (int x=0;x<5;x++)
{
ind++;
if(vres[x]==1)
{
str=Convert::ToString((char)Alph[ind]);
this->listBox2->Items->Add(str);
}
}
}
}
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 19:59:40.806666
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
Как создать нормальное оконное приложение на MSVC++ 10, у меня получается только для .net создать, а для win32 не могу найти
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 20:07:53.683333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Так же, как в 8 и 9-й студии: File -> New -> Project… (other languages, если С++ не основной язык) -> Visual C++ -> Win32 -> Win32 Project…
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 20:15:45.376666
|
|
|
messenage
Сообщений: 21
Оценки: 0
Присоединился: 2010-03-03 21:23:49.290000
|
блин! ни кто что ли не знает=(( Мне осталось только размер формы зафиксировать чтоб изменить нельзя было и все=(
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-05-18 20:48:56.483333
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
del
|
|
|
|
|