Форум программистов, компьютерный форум CyberForum.ru

Создать модуль DLL библиотек с функциями вычисления размера файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа с НОК http://www.cyberforum.ru/cpp-beginners/thread678953.html
Задача: Даны две сцепленные шестеренки. У одной шестеренки N зубцов, у другой K. Требу- ется найти, какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние. Входная информация содержит два целых числа N и K. В выходную информацию выведите искомое количество зубчиков. Есть еще условие о размере чисел (не более миллиона на вход и...
C++ OpenGL и Visual C++ 2010 Доброго времени суток уважаемые русскоговорящие жители планеты. Подскажите как быть если кто знает. Жил я себе не тужил да вот решил я просветиться да в мире компьютерном, да начал изучать С++, а с ним да и Open GL . Скачал и установил библиотеки , как было сказано на этом форуме , #include <GL/glut.h> перестало подчеркиваться красным , код вроде бы коректно воспринимаеться, я было... http://www.cyberforum.ru/cpp-beginners/thread678952.html
Определить радиус основания цилиндра единичного объема для значений высоты 0.5, 1, 1.5, .... 5 C++
пожалуйста напишите задачи Цилиндр объема единица имеет высоту h. Определить радиус основания цилиндра для значений h, равны 0.5, 1, 1.5, .... 5.
Функция sum с переменным числом параметров C++
помогите с кодом,задание:Написать функцию sum с переменным числом параметров, которая находит сумму чисел типа int. Написать вызывающую функцию main, которая обращается к функции sum не менее трех раз с количеством параметров 3, 7, 11. вот вроде начал, и что-то не особо получилось... #include <cstdlib> #include <iostream> using namespace std; int sum(int n) { return(1..100)
C++ Обеспечить надежность программы (защита от ввода неверных символов) http://www.cyberforum.ru/cpp-beginners/thread678945.html
Имеется программа, считающая сумму ряда х квадрат на отрезке от а до а. #include "studio.h" int main() { int a; scanf("%d",&a); printf("%d\n"a*a); getch(); return 0;
C++ Если в матрице имеются ненулевые элементы, указать их индексы пожалуйста напишите задачи Дана целочисленная квадратная матрица порядка 15. Выяснить, имеются ли в матрице ненулевые элементы, если имеются, то указать индексы: б) всех ненулевых элементов. подробнее

Показать сообщение отдельно
vxg
Модератор
 Аватар для vxg
2658 / 1669 / 156
Регистрация: 13.01.2012
Сообщений: 6,214
24.10.2012, 07:24     Создать модуль DLL библиотек с функциями вычисления размера файла
h-файл

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//------------------------------------------------------------------------------
//используем условную компиляцию для того, что бы защитить модули от повторного
//включения заголовочного файла
 
#ifndef MY_DLL_H
#define MY_DLL_H
//------------------------------------------------------------------------------
//используем условную компиляцию для подстановки правильных модификаторов в
//описания и определения функций:
//- если идентификатор EXPORT определен функции будут экспортироваться -
//используем это для компиляции нашей DLL
//- если идентификатор EXPORT не определен функции будут импортироваться -
//используем это для компиляции приложений, использующих нашу DLL
//- все функции имеют модификатор __stdcall
 
#ifdef EXPORT
#define DECL_SPEC __stdcall __export
#else
#define DECL_SPEC __stdcall __import
#endif
 
//------------------------------------------------------------------------------
long DECL_SPEC sizeof_file(const char *name);
int DECL_SPEC rename_file(const char *name_old, const char *name_new);
//------------------------------------------------------------------------------
//конец участка с описаниями функций
 
//отменяем определение идентификатора EXPORT для того, что бы он действовал
//только в заголовочном файле
 
#undef EXPORT
//------------------------------------------------------------------------------
//конец участка, защищаемого от повторного включения
 
#endif //MY_DLL_H
c-файл

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//------------------------------------------------------------------------------
//определяем идентификатор EXPORT - сейчас мы компилируем нашу DLL
 
#define EXPORT
#include "my_dll.h"
//------------------------------------------------------------------------------
#include <windows.h>
#include <sys/stat.h>
#include <stdio.h>
//------------------------------------------------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void *lpReserved)
{
    switch (reason)
    {
        case DLL_PROCESS_ATTACH:
            //здесь может производиться инициализация
            break;
 
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return 1;
}
//------------------------------------------------------------------------------
long sizeof_file(const char *name)
{
    struct stat si;
    return stat(name, &si)? -1 : si.st_size;
}
//------------------------------------------------------------------------------
int rename_file(const char *old_name, const char *new_name)
{
    return rename(old_name, new_name);
}
c-файл пример использования

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//---------------------------------------------------------------------------
//lib-файл должен быть включен в проект: Project/Add to Project...
//dll-файл должен быть доступен: находиться либо в папке приложения либо в
//системной папке Windows
 
//идентификатор EXPORT не определен - сейчас мы компилируем приложение,
//использующее нашу DLL
 
#include "my_dll.h"
#include <stdio.h>
//---------------------------------------------------------------------------
void main(void)
{
    char name_old[256];
    char name_new[256];
    long s;
 
    printf("Name old>");
    scanf("%s", name_old);
 
    printf("Name new>");
    scanf("%s", name_new);
 
    if (rename_file(name_old, name_new))
    {
        printf("Can not rename file\n");
        system("pause");
        return;
    }
    printf("Renamed\n");
 
    s = sizeof_file(name_new);
    if (s == -1)
    {
        printf("Can not get size of file\n");
        system("pause");
        return;
    }
    printf("Size of file: %l\n", s);
    system("pause");
}
а вообще Dynamic-Link Library: Теория + Практика
 
Текущее время: 07:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru