при установке шпаклевки на win32, Вы добираетесь, pscp (шпаклюйте scp).
, таким образом, можно использовать взлом os.system на win32 также.
(и можно использовать агент шпаклевки для ключа-managment)
<час>жаль это - только взлом (но можно обернуть его в класс Python)
Очевидный ответ - извлечь уроки из того, что компилятор пытается вам сказать - никогда и никогда не следует использовать gets (), поскольку это совершенно небезопасно. Вместо этого используйте fgets () , что позволяет предотвратить возможное переполнение буфера.
#define BUFFER_SIZE 100
char buff[BUFFER_SIZE];
gets( buff); // unsafe!
fgets( buff, sizeof(buff), stdin ); // safe
Используйте fgets () вместо gets ()
char buffer[BUFSIZ];
/* gets(buffer); */
fgets(buffer,sizeof(buffer), stdin);
Функция gets () не проверяет длину буфера и может выполнять запись после конца и изменять стек. Вы слышите об этом "переполнении буфера".
Я бы прислушался к предупреждению и заменил получает
. Для меня это достаточно ясно:
ОШИБКИ
Никогда не используйте gets (). Потому что невозможно сказать, не зная данных в заранее, сколько символов будет читать get (), и поскольку gets () будет продолжать хранить символов за пределами буфера, использовать это крайне опасно. Она имеет использовались для взлома компьютерной безопасности. Вместо этого используйте fgets ().
На самом деле нет веской причины использовать gets ()
. Даже стандарт C говорит, что он устарел! Вместо этого используйте fgets ()
.
[Edit]
Похоже, предупреждение исходит от компоновщика. Вы получаете предупреждение при компиляции с помощью -c
? (Что отключает связывание.)
Регистры GAC ( Global Assembly Cache ) ваши .dll, поэтому вам не нужно иметь их в рабочем каталоге вашего приложения. Все библиотеки .dll .NET (System.IO.dll, System.dll и т. Д.) Регистрируются через GAC, что означает, что вам не обязательно иметь их в каталоге вашего приложения. По умолчанию, если .dll не зарегистрирована в GAC, программа будет искать отсутствующую .dll в своем собственном каталоге.
Итак, у вас есть три варианта:
Вам вообще не следует использовать функцию gets
, на странице руководства рекомендуется использовать вместо нее fgets
.
GCC не предоставляет эту функциональность что GCC делает для отключения предупреждений с помощью прагм. Вместо этого вы должны использовать различные параметры предупреждений в качестве флагов для компилятора.