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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
#1

ms vs 2010 - C++

21.05.2011, 04:54. Просмотров 2198. Ответов 9
Метки нет (Все метки)

компилирую в vs ultimate 2010
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include "incl.h"
 
void nullstruc(statep &struc1);
void rcoin(statep &struc1);
void crpost(statep &struc1);
void changename(statep &struc1);
 
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    statep ststatep1 =
    {
        "a",
        "a",
        1,
        1,
        0,
        2,
        0,
        0,
        "z",
        0,
    };
 
    
    rcoin(ststatep1);
    nullstruc(ststatep1);
    changename(ststatep1);
 
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    changename(ststatep1);
    ststatep1.stam = 0;
 
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    HINSTANCE hdll1 = LoadLibraryA("dll4.dll");
    FARPROC pdllfunc1 = GetProcAddress(hdll1, "dllfunc1");
    (*pdllfunc1);
    FreeLibrary(hdll1);
 
    return 0;
}
    void nulstruc(statep &struc1)
{
    struc1.nname = 0;
    struc1.stam = 0;
}
 
    void changename(statep &struc1)
{
 
}
 
 
    void rcoin(statep &struc1)
{
 
}
 
    void crpost(statep &struc1)
{
    DWORD fcount;
 
    char * name = struc1.name;
    HANDLE hfile1 = CreateFileA(struc1.name, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL);
    if(struc1.stam==0)
        WriteFile(hfile1, buf, i , &fcount, NULL);
    else
    {
        SetFilePointer(hfile1, 70*struc1.stam, NULL, FILE_BEGIN);
        WriteFile(hfile1, buf, i, &fcount, NULL);
    }
    struc1.stam++;
 
    //sprintf(buf1, "%d", fcount);
    //MessageBoxA(NULL, buf1, "information", MB_OK);
    CloseHandle(hfile1);
}
это incl.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    struct test1
{
    char e[6];
    char s[1];
    char d[7];
};
 
    struct statep
{ 
    char date[11];
    char cur[8];
    double o;
    double c;
    double r;
    int state;
    int coin;
    int stam;
    char name[15];
    int nname;
};
1>loaddll.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl nullstruc(struct statep &)" (?nullstruc@@YAXAAUstatep@@@Z) в функции _WinMain@16
1>C:\Documents and Settings\er\Мои документы\Visual Studio 2010\Projects\loaddll\Debug\loaddll.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>

в vs express 2008 все работало
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 04:54     ms vs 2010
Посмотрите здесь:

vs--2010 - C++
1. Программа для книжного магазина. Компьютер запрашивает стоимость книг, сумму денег, внесенную покупателем. Если сдачи не требуется,...

С++ 2010 - C++
Дайте сылку на С++ 2010 пожалуста:wall:

Visual C++ 2010 - C++
В чём разница между Visual C++ 2010 и Visual Studio 2010? Посмотрел в Гугле, нигде толком не написано (или ищу плохо). Вообще, складывается...

Студия 2010 - C++
В один прекрасный момент MSVS перестал мне при отладке показывать локальные переменные. Подскажите что с ним могло произойти? Может в...

MVS 2010 - C++
Пишу на Microsoft visual studio 2010 на с++. Проблема такая: После сборки программы и сохранения компонентов беру ексешник в папочке...

32 символа VS 2010 - C++
Дан текст 32 символа, состоящий из слов разделенный одним пробелом. Определить количество слов, и количество букв в каждом слове. Вот...

в 2010 не работает :( - C++
Ребят, подскажите пожалуйста. В 2013 вижуал работает, а в 2010 нет.:( // ConsoleApplication1.cpp: определяет точку входа для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Danvern
40 / 39 / 3
Регистрация: 22.06.2010
Сообщений: 415
Записей в блоге: 1
21.05.2011, 05:32     ms vs 2010 #2
nullstruc() вот эта функция наверно определена где то в другом месте попробуй назвать по другому
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
21.05.2011, 07:23  [ТС]     ms vs 2010 #3
ты прав l забыл
но теперь пишет про манифест
1>mt.exe : general error c101008a: Failed to save the updated manifest to the file "Debug\loaddll.exe.embed.manifest". 0@0<5B@ 7040= =525@=>.
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
21.05.2011, 10:44     ms vs 2010 #4
У вас реализация функций после мэйна. Поставьте перед ним, и чтобы на всякий случай избавится от косяков сделайте ребилд солюшена.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.05.2011, 11:14     ms vs 2010 #5
Predator_2004, И что что реализация после main? Наверху ведь прототип объявлен
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
21.05.2011, 11:43     ms vs 2010 #6
Если я правильно помню работу компилятора, то на момент прохода по функции мэйн, встретив обращение к одной из этих функций, он не будет иметь представление об их реализации, т.к. они стоят за мэйном. Он не сможет адекватно сформировать код главной подпрограммы.

Добавлено через 2 минуты
Компилятор встретил вызов функции, ему нужен ее код. До самого кода он еще не дошел, следовательно он не знает есть ли он вообще, остановка, вывод сообщения об ошибке.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
21.05.2011, 11:46     ms vs 2010 #7
Predator_2004, Слишком плохо вы думаете о компиляторе)
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
21.05.2011, 11:47     ms vs 2010 #8
Реализация функций после main() - это по стандарту разрешено.
А вот эта фигня:
C++
1
#include "stdafx.h"
это microsoft specific.
Поэтому в Студии пересоздайте проект, выбрав "пустой" проект.
И включите туда только СВОИ файлы.
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
21.05.2011, 12:00     ms vs 2010 #9
Мда, был неправ.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 21:28     ms vs 2010
Еще ссылки по теме:

DLL 32 и 64 в C++ 2010 - C++
Написал простой dll, откомпилировал его в VC 2010 подключаю к матлабу, который ругается что dll создан 32 битным компилятором, а нужен 64...

Потоки в VS 2010 - C++
Пытаюсь создать лишний поток в Windows Form Aplications в VS 2010. Не знаю какую библиотеку нужно подключить. Помогите... Есть там хоть...

не работает VS 2010 - C++
Всем привет. Установил Studio 2010, но при компиляции возникает ошибка. Не знаю что делать. Вот, например, стандартный пример: ...

не компилируется код в VS 2010 - C++
есть такой код #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; int...

Microsoft Visual C++ 2010 - C++
Дано пятизначное натуральное число.Если последняя его цифра больше за первую,то переставить их местами. Нужен текст программы для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
21.05.2011, 21:28  [ТС]     ms vs 2010 #10
пустой проект заработал (ms vs ultimate 2010 какой-то кошмар).
только exe-шник немогу найти говорит что нет такого файла.
Yandex
Объявления
21.05.2011, 21:28     ms vs 2010
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru