ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

27.02.2010, 04:21
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2zeppe1in
>> Если длина строки src меньше len, то буфер добивается до len нулями.
да, про такое поведение strncpy я забыл ))
Какбэ рантайм обеспечивает некоторые механизмы, без которых не обойтись если хочешь использовать libc (поддержку потоков, глобальные переменные, вызов конструктуров-десктрукторов, ну и тд)
для полного избавление от crt надо ещё отключать линк mscrt.lib (NODEFAULTLIB).
Крис там немного не точен. Все таки если не выдирать заголовочные файлы и либы из ddk, то ntdll работать несколько неудобно, хотя в случае натива выбора немного ). часть libc продублировано с системных длл kernel32.dll (lstrcpy, lstrcat ...), advapi32.dll (wsprintf ...), shlwapi.dll (StrStr, MemoryCopy, ...) и тд, те все базовые функции, которые в основном нужны по работе со строками и тд.
Последний раз редактировалось Hiro Protagonist; 27.02.2010 в 04:23..
|
|
|

27.02.2010, 11:28
|
|
Познающий
Регистрация: 22.12.2008
Сообщений: 82
Провел на форуме: 107509
Репутация:
6
|
|
Люди добрые есть маленький вопрос , есть ли у функции wsprintf какие нибудь ограничение , немогу форматировать строку когда один из поинтеров большого размера... Если есть ограничение как в данном случае быть ?
Последний раз редактировалось Fl0dER; 27.02.2010 в 11:30..
|
|
|

01.03.2010, 13:13
|
|
Новичок
Регистрация: 01.01.2006
Сообщений: 1
Провел на форуме: 4200
Репутация:
0
|
|
hi2all people, народ подскажите в С++ буилдер в редакторе кода на руском можно писать ? а то вири потрепали ПО а перебивать жалко..., 4 года назад помнится писал вот тока непомню толи в delphi то ли С++ буилдер, пишу там [ авыф (норм пишется) ] а [ олдж ( ои№ж) ], настройки уже досканально изучил бестолку
|
|
|

01.03.2010, 22:41
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
Всем привет.Народ,что означает ошибка "Redeclaration of std::ifstream in" и как с ней бороться.Я открыл один файл для чтения,считал все что нужно,закрыл его.Стал открывать второй и выскочила эта ошибка.Спасибо за помощь.
|
|
|

02.03.2010, 00:54
|
|
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме: 750247
Репутация:
92
|
|
Сообщение от qwert135
Всем привет.Народ,что означает ошибка "Redeclaration of std::ifstream in" и как с ней бороться.Я открыл один файл для чтения,считал все что нужно,закрыл его.Стал открывать второй и выскочила эта ошибка.Спасибо за помощь.
Код в студию, пожалуйста.
|
|
|

02.03.2010, 08:44
|
|
Новичок
Регистрация: 19.11.2009
Сообщений: 8
Провел на форуме: 29260
Репутация:
0
|
|
Сообщение от Fl0dER
Люди добрые есть маленький вопрос , есть ли у функции wsprintf какие нибудь ограничение , немогу форматировать строку когда один из поинтеров большого размера... Если есть ограничение как в данном случае быть ?
Нету. Скорее всего в коде ошибка. Код в студию
|
|
|

02.03.2010, 08:45
|
|
Новичок
Регистрация: 19.11.2009
Сообщений: 8
Провел на форуме: 29260
Репутация:
0
|
|
Ну и я сам столкнулся с задачей:
Как можно программно определить наличие/конфигурацию прокси сервера, фаервола в сети, а также конфигурацию самой сети (с доменами или без)?
Спасибо.
|
|
|

02.03.2010, 10:44
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
Вот код: #include <iostream.h>
#include <math.h>
#include <stdio.h>
#include <fstream.h>
//приведение коэффициентов матрицы А, лежащих на главной диагонали
//к ненулевым,если приведение успешно функция возвращает значение true
int Diagonal(double **A, double *B, int column, int NumberOfEquation) {
int result = 0;
int i, row = column;
double replace;
if(column == NumberOfEquation - 1) {
result = A[column][column] != 0;
}
else {
while(!result && row < NumberOfEquation) {
if(A[row][column] != 0) {
if(row != column) {
for(i=0;i < NumberOfEquation;i++) {
replace = A[column][i];
A[column][i] = A[row][i];
A[row][i] = replace;
}
replace = B[column];
B[column] = B[row];
B[row] = replace;
}
result = Diagonal(A, B, column + 1, NumberOfEquation);
if(result) {
break;
}
|
|
|

02.03.2010, 10:48
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
}
row++;
}
}
return result;
}
//если коэффициенты матрицы на главной диагонали не равны 0, то
//приступаем к решению СЛАУ методом простых итераций
int SimpleIteration(double **A, double *B, int NumberOfEquation, double *solution, double fault_input) {
int result;
int i, j, step = 1;
double *TempSolution;
TempSolution = new double[NumberOfEquation];
result = Diagonal(A, B, 0, NumberOfEquation);
if(result) {
double fault = fault_input + 1;
for(i=0;i < NumberOfEquation;i++) {
for(j=0;j < NumberOfEquation;j++) {
if(i != j) {
A[i][j] = -A[i][j] / A[i][i];
}
}
B[i] = B[i] / A[i][i];
A[i][i] = 0;
}
//первое приближенное значение вектора неизвестных
for(i=0;i < NumberOfEquation;i++) {
solution[i] = B[i];
}
//пока не найдется решение с заданной точностью или не исчерпается лимит шагов
while(fault > fault_input && step <= 1000) {
|
|
|

02.03.2010, 10:50
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
for(j=0;j < NumberOfEquation;j++) {
TempSolution[j] = 0;
}
for(i=0;i < NumberOfEquation;i++) {
for(j=0;j < NumberOfEquation;j++) {
TempSolution[i] = TempSolution[i] + A[i][j]*solution[j];
}
TempSolution[i] = TempSolution[i] + B[i];
}
//расчет погрешности
fault = 0.0;
for(j=0;j < NumberOfEquation;j++) {
fault = fault + (solution[j] - TempSolution[j])*(solution[j] - TempSolution[j]);
}
fault = sqrt(fault);
//сохранение последующих приближенных значений неизвестных
for(j=0;j < NumberOfEquation;j++) {
solution[j] = TempSolution[j];
}
step++;
}
}
return step;
}
void DOS_input_output() {
int i, j;
int size;
double **A, *B, *solution, fault_input;
cout << "Решение СЛАУ методом простых итераций.\n";
cout << "Введите размерность матрицы: ";
cin >> size;
A = new double*[size];
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|