Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 03:50   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Assembler и C

Доброго времени суток уважаемые. Возник вопрос о использование С'шных функций в Assembler'е, я когда-то, где-то видел что это возможно, еще помнится вызов был "cinvoke", но увы, вспомнить где это чудо было, не могу. За ранее благодарен за любой совет и помощь.

yuran666666
Можно узнать ваш icq, skype, messenger? :D
Mov Eax, L_S_
Call Eax

Последний раз редактировалось coNsept; 11.08.2010 в 04:04.
coNsept вне форума Ответить с цитированием
Старый 11.08.2010, 07:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
вспомнить где это чудо было, не могу.
В FASM есть такое.
Вот легкий пример:
Код:
format PE console
entry start

include 'D:\fasmw16726\INCLUDE\win32a.inc'

section '.data' data readable writeable
message db 'Hello, world!',0
section '.code' code readable executable
start:
; CINVOKE макрос в составе FASM.
; Позволяет вызывать CDECL-функции.
  cinvoke printf,message
  cinvoke getch
; INVOKE аналогичный макрос для STDCALL-функций.
  invoke ExitProcess,0
section '.idata' import data readable
library kernel,'kernel32.dll',\
	msvcrt,'msvcrt.dll'

import kernel,\
       ExitProcess,'ExitProcess'

import msvcrt,\
       printf,'printf',\
       getch,'_getch'
т.е. подключаешь библиотеку, и используя cinvoke вызываешь функцию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 21:03   #3
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

функции любой длл можно поюзать при желании и не суть сишная она или не сишная...

ойсику - 585999274, только напишите чего нибудь, а то посчитаю, что это спам
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 14.08.2010, 23:43   #4
Wardrag
Пользователь
 
Регистрация: 14.08.2010
Сообщений: 31
По умолчанию

Эээ,LIBC сишную либу можно подгрузить я знаю инклудлибом в масм или заюзать макросы(в которых сам не кхе кхе) (фаил macros.asm) и подключить его инклудом.
Wardrag вне форума Ответить с цитированием
Старый 25.08.2010, 15:37   #5
VerhoLom
Пользователь
 
Регистрация: 25.08.2010
Сообщений: 12
По умолчанию

Stilet, А не проще так:

Код:
push dword stroka
call _printf
add esp,0x04
чем искать какие-то макросы типа cinvoke? Соглашение о вызове-то простое...
VerhoLom вне форума Ответить с цитированием
Старый 25.08.2010, 16:11   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
VerhoLom
Дело вкуса.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler Николай ПН Помощь студентам 22 21.03.2010 21:28
Assembler Александе еть я Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 26.01.2010 11:02
Assembler Натся Помощь студентам 1 22.12.2009 20:04
C# + Assembler Studento4ka Общие вопросы .NET 6 17.11.2009 07:51