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

Внешняя процедура на ассемблере - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ сортировка по возрастанию http://www.cyberforum.ru/cpp-beginners/thread1052980.html
Не знаю, в чем проблема. Написал такую программу #include <stdio.h> int n; int *a = new int; int T,i,s,count,k; int main() { scanf("%d", &T);
C++ Динамическая структура очередь Ребят,можете помочь. Создать очередь на базе связного списка. Написать функцию, выводящую на экран n (вводится с клавиатуры) элементов с головы. Элементы при этом не удаляются из очереди. #include <iostream> #include <conio.h> #include <iomanip> using namespace std; struct Node { int value; Node*next; http://www.cyberforum.ru/cpp-beginners/thread1052974.html
Завершение программы с кодом C++
#include <iostream> #include <math.h> #include <stdio.h> #include <stdlib.h> int main() { FILE *file; file=fopen("brain.txt","r"); char mas; fgets(mas,1000,file);
C++ Удалить две последние столбцы (то есть убрать нули) С++
// 1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <cmath> #include <iomanip> using namespace std;
C++ Перевернуть строки в матрице http://www.cyberforum.ru/cpp-beginners/thread1052967.html
в чем ошибка? не переворачивает нужную строку. #include <iostream> #include <cstdlib> using namespace std; int main() { int m, n, **a, i, j, s; cout<<"vvedite kol-vo strok "; cin>>m; cout<<"vvedite kol-vo stol-v "; cin>>n; a = new int *;
C++ в чем ошибка? #include <iostream> #include <cmath> using namespace std; int main(){ int a,b,h,y; cin»a»b»h; for(int i=a; i<=b; i+=h) { if(abs(i)<=1) y=i*i-1; else if(abs(i)>1 && abs(i) <=2) y = 2*i-1; подробнее

Показать сообщение отдельно
NEbO
583 / 451 / 49
Регистрация: 22.01.2009
Сообщений: 1,173
Записей в блоге: 1
Завершенные тесты: 1
23.12.2013, 04:34     Внешняя процедура на ассемблере
так. стоп. у вас MinGW (это та хрень которая вместе с Dev-C++ идет) или Visual C++ ??? Просто я не припомню чтоб _CRT_SECURE_NO_WARNINGS были в gcc.

Добавлено через 51 секунду
да собственно как и conio.h, который кажется только лишь в одном borland c++ остался...

Добавлено через 2 минуты
1.S
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.section .rdata,"dr"
_someFmt:
    .ascii "abc %d %d\n\0"
    .text
 
    .globl  _pSt
_pSt:
    pushl   %ebp
    movl    %esp, %ebp
    pushl   $27
    pushl   $3
    pushl   $_someFmt
    calll   _printf
    leave
    ret
3.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
extern "C"{
    __attribute__((cdecl)) void pSt();
}
 
int main() {
    pSt();
    return 0;
}
вот то, что щас вспомнил (не без gcc -S, конечно). компилируется простым
Код
gcc 3.cpp 1.S -o 1.exe
Добавлено через 6 минут
как видите, в асм файле у меня символ _pSt, а в cpp -- pSt (без подчеркивания). Однако, студийный компилятор делает, вполне вероятно, по другому. вы таблицу экспорта-то хоть посмотрели? тот же objdump, да или хоть какой-нито pe explorer плагин для тотала -- там все экспортируемые символы должны быть указаны. когда возникает ошибка линковки -- это значит какой-то символ не так себя назвал или компилятор его обработал не так как ожидалось. нужно либо найти ключик к компилятору, который будет именовать символы так, как хотите вы, либо переименовать символы в самом коде... к сожалению с visual c++ я дружу гораздо меньше, однако могу попробовать
 
Текущее время: 07:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru