Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

 

  Вопрос: C++ vs Basic Добавлено: 21.03.05 18:24  

Автор вопроса:  Дмитрий Щапов

Ответить

  Ответы Всего ответов: 127  

Номер ответа: 61
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #61 Добавлено: 26.03.05 21:05
Указатели Ret, S, F уничтожать не надо, это ячейки стека, при выходе из процедуры эти ячейки будут использованы для других целей. Уничтожать надо, вернее освобождать, куски памяти, если ты их запрашивал. Допустим запросил кусок памяти, получил указатель на него и запомнил например в Ret. Перед выходом их процедуры надо достать указатель из Ret и передать его в ф-цию, освобождающую память (например VirtualFree или HeapFree или GlobalFree).

Ответить

Номер ответа: 62
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #62 Добавлено: 26.03.05 21:06
АГА!!! Так энто работает только в MFC приложениях. Жаль. Не подходит. Для приложений не требующих ничего особого это супер. Но у меня DLL и в ней желательно сделать всё побыстрее.
\
\
И последние (надеюсь) вопросы из области строк.
==Как мне присвоить строке значения Chr(13)+Chr(10)
==Перевести в строку числа(блин, такая фигня, а вылетает)

Ответить

Номер ответа: 63
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #63
Добавлено: 26.03.05 21:14
знаешь, ты напоминаешь мне маленького ребенка, который через свои глупые убеждения делает себе хуже. Но ты не простой блин ребенок, ты и другим хуже хочешь сделать, обзывая MFC говном. MFC - это труд тысяч высококлассных программистов. MFC - это то, что юзают милионы программистов, и радуются этому. Я сам знаю что такое программирование на АПИ и MFC, но я не говорю что одно отстой а другое супер. Всему своё место.
DaSharm, ты забываешь, что кроме API и MFC существует много других вещей, например, колоссальное количество библиотек, которые на порядок лучше и мощнее MFC, в частности, упоминавшиеся WTL, промышленная STL, включенная в стандарт. Я нигде не писал, что весь код надо писать самому, я приверженец обратного мнения, не надо мне это приписывать.

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

Юзайте STL для строк: быстро и удобно.
Пример:
#include <windows.h>
#include <string>

int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow){
std::string s = "Hello, world!";
std::string t = "world";
MessageBox(0, (LPCSTR)s.replace(s.find(t), t.length(), "STL";).c_str(), "Replace Example by GrEaT Sharp :)", MB_ICONASTERISK);
return 0;
}

Ответить

Номер ответа: 64
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #64 Добавлено: 26.03.05 21:16
Короче хоть он вначале ф-ии призваивает S="";F=""

Как это "присваивает"?


replace("Error 13 in $2","$2",";DXModule";)


То, что выходная строка будет длиннее чем входная, тебя не смущает? Ты позаботился о том, чтобы места для выходной хватило?
И то, что эти строки, которые передаёшь в ф-цию, находятся в секции инициализированных данных, ничего?

Ответить

Номер ответа: 65
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #65
Добавлено: 26.03.05 21:18
1) char crlf[3] = "\x0D\x0A";
2) itoa

Ответить

Номер ответа: 66
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #66 Добавлено: 26.03.05 21:25
Sharp, ты ничего не путаешь?
#include <windows.h>
#include <string>
Этого достаточно???
Почему тогда компилятор вываливает кучу ошибок?

Ответить

Номер ответа: 67
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #67 Добавлено: 26.03.05 21:29
Перевод строки можно сделать, воткнув в нужном месте "\n"

Ответить

Номер ответа: 68
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #68
Добавлено: 26.03.05 21:40
Sharp, ты ничего не путаешь?
#include <windows.h>
#include <string>
Этого достаточно???
Почему тогда компилятор вываливает кучу ошибок?
Гы. У меня работает. А вообще мог бы и запостить, какие именно ошибки.

Ответить

Номер ответа: 69
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #69
Добавлено: 26.03.05 22:49
он ещё забыл такое: #include <vector>

кстати:
У нормальных программистов не может быть утечек памяти


Это шутка? Почти в каждом более менее сложном программном продукте любых разработчиков есть утечки! Это самая распостраненная ошибка!

Ответить

Номер ответа: 70
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #70
Добавлено: 26.03.05 22:52

и ещё, я думаю, что STL не оч. удобное стредство. Классы MFC лучше и нагляднее. Возьмем например байтовый массив из STL - std::vector<BYTE> что ты скажешь, в нем лучшего чем в CByteArray ???

Ответить

Номер ответа: 71
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #71 Добавлено: 26.03.05 23:05
Ну вот ошибки:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
crfind.cpp
crfind.cpp(293) : error C2653: 'std' : is not a class or namespace name
crfind.cpp(293) : error C2065: 'string' : undeclared identifier
crfind.cpp(293) : error C2146: syntax error : missing ';' before identifier 's'
crfind.cpp(293) : error C2065: 's' : undeclared identifier
crfind.cpp(294) : error C2653: 'std' : is not a class or namespace name
crfind.cpp(294) : error C2146: syntax error : missing ';' before identifier 't'
crfind.cpp(294) : error C3861: 'string': identifier not found, even with argument-dependent lookup
crfind.cpp(294) : error C2065: 't' : undeclared identifier
crfind.cpp(300) : error C2228: left of '.replace' must have class/struct/union type type is ''unknown-type''
crfind.cpp(300) : error C2228: left of '.find' must have class/struct/union type type is ''unknown-type''
crfind.cpp(300) : error C2228: left of '.length' must have class/struct/union type type is ''unknown-type''
crfind.cpp(300) : error C2228: left of '.c_str' must have class/struct/union type
crfind.cpp(300) : error C3861: 's': identifier not found, even with argument-dependent lookup
crfind.cpp(300) : error C3861: 's': identifier not found, even with argument-dependent lookup
crfind.cpp(300) : error C3861: 't': identifier not found, even with argument-dependent lookup
crfind.cpp(300) : error C3861: 't': identifier not found, even with argument-dependent lookup
crfind.cpp(304) : error C2228: left of '.dwPageSize' must have class/struct/union type type is ''unknown-type''
Microsoft (R) Incremental Linker Version 7.10.3077

Ответить

Номер ответа: 72
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #72 Добавлено: 26.03.05 23:06
ВСЕМ ОГРООМНОЕ СПAСИБО!..!

Ответить

Номер ответа: 73
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #73 Добавлено: 26.03.05 23:10
p(293) : error C2653: 'std' : is not a class or namespace name

у меня был указан #include <string.h> - он мне это-же писал(да и многое др), поменял на #include <string> - всё нормалёк.

Ответить

Номер ответа: 74
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #74 Добавлено: 26.03.05 23:15

#include <vector> - это увеличило количество ошибок раза в 4-5, постить уж не буду, а то и так мусора изрядно :))) Появились ошибки типа не найдены какие-то хидеры

:))))

Ребяты, написать и потестировать эту несчастную replace - 5 минут, так? Так.
Искать по всему свету эти хидеры, потом искать, что в них декларировано, что можно, что нет - это не один час. НАХРЕНА???
Делаться же все равно через API будет.
Делаем сами - делаем быстрее, и работает быстрее и размер меньше и головных болей никаких и чувство морального удовлетворения (т.е. кайф) :)))

Ответить

Номер ответа: 75
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #75 Добавлено: 26.03.05 23:20
DIMM, смотрел я и string.h и просто string - результата нет. Ну ладно, добился своего и хорошо :)

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам