01/10/2018, 16:18

Chuyển từ file .c sang .dll

Chào mọi người!
Tình hình là hôm này mình có lụm được 1 code về đa luồng trong autoit và dưới đây là code của em nó :

Local $zz = DllCallbackRegister('test', 'none', ')
 
Local $dll = DllOpen('test.dll')
 
DllCall($dll, 'none:cdecl', 'newThread', 'ptr', DllCallbackGetPtr($zz))
 
MsgBox(0, ', ')
 
Func test()
 
        Local $a = 'test1', $b = 'test2'
        MsgBox(0, $a, $b)
 
        While 1
                Sleep(100)
                ConsoleWrite('x' & @CRLF)
        wEnd
 
EndFunc
 
#cs Tạo một file test.c rồi paste code sau, bật cmd lên: // " gcc -shared -o test.dll test.c "
 
        typedef void (__stdcall *Au3Func)();
 
        DWORD __stdcall newThreadProc(void* param)
        {
                ((Au3Func)param)();
                return 0;
        }
 
        void __declspec(dllexport) newThread(void* pf)
        {
                CreateThread(NULL, 0, newThreadProc, pf, 0, NULL);
        }
 
#ce

như các bạn đã thấy thì tác giả của code này kêu là phải chuyển từ file test.c sang test.dll nhưng mình không biết làm cách nào để chuyển mặc dù đã tìm trên mạng
Theo như mình tìm được thì nó toàn là c++ thôi nhưng mình cũng đã tìm được 1 trang nó chuyển từ .c sang .dll này:

https://stackoverflow.com/questions/13218824/how-to-write-a-dll-file-in-c
Nhưng kết quả không khả quan mấy bạn nào biết về vấn đề này giúp mình 1 tay nha !

NBQ viết 18:23 ngày 01/10/2018

#cs Tạo một file test.c rồi paste code sau, bật cmd lên: // " gcc -shared -o test.dll test.c "

Bạn đã làm theo commend hướng dẫn này của tác giả chưa?

name viết 18:19 ngày 01/10/2018

NBQ nói đúng đó! sự bổ sung ở đây là muốn bạn dụng gcc để biên dịch file test.c đó với lệnh gcc -shared -o test.dll test.c
kết quả của hành động xây dựng này là file test.dll tuy nhiên bạn cần cảnh giác là máy tính của bạn đã được cài GCC bạn
đây là video hướng dẫn 1 cách cơ bản vụng về

Bài liên quan
0