double pascal qwe(double d)
int pascal qwe(int i)
#include <math.h>
double pascal qwe(double d)
{
return sin(d)+100;
}
function qwe(i:double):double;external;
{$L asd.obj}
begin
writeln(qwe(3):0:3);
readln;
end.
#include <math.h>
double pascal qwe(double d)
{
return sin(d)+100;
}
#include <math.h>
double __declspec(dllexport) qwe(double d)
{
return sin(d)+100;
}
В Options->Application
Current Settings
Linker output Windows DLL
Prolog/Epilog Windows DLL all functions exportable
Model Compact
Assume SS equals DS Never
-----------------------
В Options->Compiler->Code Generation
Model Options
( ) Tiny [X] Treat enums as ints
( ) Small [ ] Word alignment
( ) Medium [ ] Duplicate strings merged
(•) Compact [ ] Unsigned characters
( ) Large [ ] Pre-compiled headers
( ) Huge [ ] Generate assembler source
[ ] Compile via assembler
Assume SS Equals DS
( ) Default for memory model
(•) Never
( ) Always
-------------------------
В Options->Compiler->Advanced Code Generation
Floating Point Options
( ) None [ ] Generate underbars
( ) Emulation [ ] Line numbers debug info
( ) 8087 [X] Debug info in OBJs
(•) 80287/387 [ ] Browser info in OBJs
[X] Fast floating point
Instruction Set [ ] Fast huge pointers
( ) 8088/8086 [ ] Generate COMDEFs
( ) 80186 [ ] Automatic far data
( ) 80286
(•) 80386 Far Data Threshold 32767
----------------------
В Options->Compiler->Entry/Exit Code Generation
Prolog/Epilog Code Generation
( ) DOS standard
( ) DOS overlay
( ) Windows all functions exportable
( ) Windows explicit functions exported
( ) Windows smart callbacks
(•) Windows DLL all functions exportable
( ) Windows DLL explicit functions exported
Calling Convention Stack Options
( ) C [X] Standard stack frame
(•) Pascal [ ] Test stack overflow
( ) Register
--------------------
Ещё в Options->Compiler есть пунктики
C++ options...
Advanced C++ options...
Optimizations...
Source...
Messages
Names...
----------------
В Options->Make
Break Make On
( ) Warnings
(•) Errors
( ) Fatal errors
( ) All sources processed
After Compiling
( ) Stop
(•) Run linker
( ) Run librarian
Generate Import Library
( ) No
(•) Use DLL file exports
( ) Use DEF file exports
[X] Check auto-dependencies
-------------
В Options->Linker->Settings
Map File Options
(•) Off [ ] Initialize segments
( ) Segments [X] Default libraries
( ) Publics [ ] Pack code segments
( ) Detailed [ ] Warn duplicate symbols
[X] "No stack" warning
[X] Case-sensitive link
Output [ ] Case-sensitive exports
( ) Standard DOS EXE [ ] Compress debug info
( ) Overlaid DOS EXE
( ) Windows EXE Code Pack Size 8192
(•) Windows DLL Segment Alignment 512
--------------------------
В Options->Linker->Libraries
Libraries Container Class Library
[X] Graphics library (•) None
[ ] Turbo Vision ( ) Static
( ) Dynamic
ObjectWindows Library Standard Run-time Libraries
(•) None ( ) None
( ) Static (•) Static
( ) Dynamic ( ) Dynamic
----------------
В Options->Librarian
Options
[ ] Generate list file
[ ] Case sensitive library
[ ] Purge comment records
[ ] Create extended dictionary
Library Page Size 16
--------
.386p
ifndef ??version
?debug macro
endm
publicdll macro name
public name
endm
endif
?debug V 300h
?debug S "ASD.C"
?debug C E986998E3D054153442E43
?debug C E9644B5E3514453A5C42435C494E434C5544455C4D4154482E48
?debug C E9644B5E3515453A5C42435C494E434C5544455C5F444546532E48
_TEXT segment byte public use16 'CODE'
_TEXT ends
DGROUP group _DATA,_BSS
assume cs:_TEXT,ds:DGROUP
_DATA segment word public use16 'DATA'
d@ label byte
d@w label word
_DATA ends
_BSS segment word public use16 'BSS'
b@ label byte
b@w label word
_BSS ends
_TEXT segment byte public use16 'CODE'
?debug C E801054153442E4386998E3D
;
; double pascal qwe(double d)
;
?debug L 3
assume cs:_TEXT
QWE proc near
?debug B
push bp
mov bp,sp
?debug C E601640F0A040000
?debug B
;
; {
; return sin(d)+100;
;
?debug L 5
fld qword ptr [bp+4]
sub sp,8
fstp qword ptr [bp-8]
fwait
call near ptr sin
add sp,8
fadd dword ptr DGROUP:s@
jmp short @1@58
@1@58:
;
; }
;
?debug L 6
pop bp
ret 8
?debug C E601640F0A040000
?debug E
?debug E
QWE endp
?debug C E9
?debug C FA00000000
_TEXT ends
_DATA segment word public use16 'DATA'
s@ label byte
db 0
db 0
db 200
db 'B'
_DATA ends
_TEXT segment byte public use16 'CODE'
_TEXT ends
public QWE
extrn sin:near
?debug C EA0101
?debug C E318000000230F0100
?debug C EC03515745181800
?debug C E319000000230F0000
?debug C EB0373696E1900
end
extrn sin:near
function qwe(r:double):double;external;
{$L asd.obj}
begin
writeln(qwe(3));
readln
end.
double pascal qwe(double d)
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.