@ECHO OFF
SETLOCAL
SET "targetdir=U:\destdir"
SET /a retain=10
FOR /f "skip=%retain%delims=" %%a IN (
'dir /b /a-d /o-d "%targetdir%\*" '
) DO ECHO (DEL "%targetdir%\%%a"
GOTO :EOF
Вам нужно будет изменить настройку targetdir
в соответствии с вашими обстоятельствами. Точно так же эта процедура предназначена для всех файлов - измените маску файла.
Необходимые команды DEL просто ECHO
ed для целей тестирования. После того, как вы подтвердите правильность команд, измените ECHO(DEL
на DEL
, чтобы фактически удалить файлы.
метод состоит в том, чтобы просто выполнить dir
в базовой форме без каталогов, отсортированных в обратном порядке -date order.
Пропустить первые 10 записей и удалить остальные.
__declspec(dllexport)
говорит компоновщику, что Вы хотите, чтобы этот объект был сделан доступным для другого DLL для импорта. Это используется при создании DLL, с которым могут связаться другие.
__declspec(dllimport)
импорт реализация от DLL, таким образом, Ваше приложение может использовать его.
я - только разработчик C/C++ новичка, поэтому возможно, у кого-то есть лучшее объяснение, чем я.
__declspec( dllexport )
- класс или функция, так отмеченная, будут экспортироваться из DLL, это встроено. Если Вы создадите DLL, и Вы хотите API, необходимо будет использовать это или отдельный.DEF файл, который определяет экспорт ( MSDN). Это удобно, потому что это сохраняет определение в одном месте, но.DEF файл предоставляет больше возможностей.
__declspec( dllimport )
- класс или функция, так отмеченная, будут импортированы из DLL. Это на самом деле не требуется - Вам нужна библиотека импорта так или иначе для создания компоновщика счастливым. Но, когда правильно отмечено с dllimport
, у компилятора и компоновщика есть достаточно информации для оптимизации вызова; без него Вы получаете нормальное статическое подключение к интерфейсной функции в библиотеке импорта, которая добавляет ненужную косвенность. ONT1 ONT2
Dllexport используется для маркировки функции, как экспортируется. Вы реализуете функцию в своем DLL и экспортируете его так, это становится доступным любому использующему Ваш DLL.
Dllimport является противоположным: это отмечает функцию, как импортируемую из DLL. В этом случае Вы только объявляете подпись функции и связываете Ваш код с библиотекой.
Два различных варианта использования:
1) Вы определяете реализацию класса в dll. Вы хотите, чтобы другая программа использовала класс. Здесь Вы используете dllexport, поскольку Вы создаете класс, который Вы хотите, чтобы dll представил.
2) Вы используете функцию, обеспеченную dll. Вы включаете заголовок, предоставленный dll. Здесь заголовок использует dllimport для введения реализации, которая будет использоваться текущей программой.
Часто тот же заголовочный файл используется в обоих случаях и определенный макрос. Конфигурация сборки определяет макрос, чтобы быть импортом или экспортом, зависящим, в котором это нуждается.