2012-01-04 28 views
7

Gần đây tôi phát hiện a problem on the midas và tôi đã khắc phục nó, vấn đề bây giờ là tôi muốn sử dụng MidasLib không phải là midas.dll và với mã nguồn tôi chỉ có thể xây dựng DLL.Làm thế nào để xây dựng midas.obj từ mã nguồn midas

Nguồn là C++ và tôi có rất ít kiến ​​thức về nó. Tôi biết MidasLib.pas sử dụng midas.obj nội bộ, vì vậy tôi cần tạo nó để liên kết tĩnh giữa các midas với ứng dụng của tôi. Làm thế nào để làm điều đó trên C + + Builder? (XE)

+0

Bạn có thể nên vá mã trong bộ nhớ thay vì cố gắng biên dịch lại. Nếu bạn có thể xác định vị trí 255 trong bộ nhớ thì tất cả những gì bạn cần làm là sửa đổi khá VirtualProtect và bạn sẽ có màu vàng. –

+0

@DavidHeffernan Yeah! Điều này thực sự sẽ là hình thức tốt nhất, nhưng làm thế nào để tìm thấy: 1 - khai báo #define; 2 - dòng được sửa đổi? –

+0

@DavidHeffernan Vì vậy, không có cách nào để xây dựng midas.obj từ mã nguồn ???? –

Trả lời

1

Khi bạn biên dịch mã C++, trình biên dịch tạo tệp .OBJ cho mỗi tệp .CPP/.C bạn có và lưu chúng ở đâu đó trên máy tính của bạn. Điều gì xảy ra trong hầu hết các trường hợp là người ta sẽ chạy một trình liên kết trên tất cả các tệp .OBJ đó để nối chúng vào một EXE hoặc DLL duy nhất, nhưng trong trường hợp của bạn, bạn không cần những kết quả đó. Trình tạo C++ của bạn giống như hầu hết các IDE lập trình, tự động thực hiện cả việc biên dịch và liên kết.

Nếu bạn chỉ muốn tệp .OBJ, bạn cần tìm thư mục dự án của bạn trong C++ Builder đang đặt tệp .OBJ của nó (được gọi là "đầu ra trung gian", thường là bước trung gian giữa biên dịch và liên kết) . Vì vậy, bạn phải có một tệp nguồn được gọi là midas.cpp hoặc midas.c tạo ra một tệp đầu ra tương ứng được gọi là midas.obj.

+0

Có! Đây là câu trả lời mà tôi đang tìm kiếm. Nhưng không may Embarcadero không cung cấp midas.cpp, vì vậy không có midas.obj lần này. Nhưng tôi làm theo cách tiếp cận David Heffernan và tôi đã thực hiện một bản vá trên midas.obj ban đầu để có được hành vi mong đợi. Cảm ơn nhiều. Chỉ để giải thích thêm một chút: Tệp .obj dành cho tệp .cpp trên C/C++ giống như tệp .dcu dành cho tệp .pas trên Delphi;) –

+0

Đây là bản sửa lỗi của tôi (bằng tiếng Bồ Đào Nha, xin lỗi): https://sites.google.com/site/carlosfeitozafilho/artigos/comoobtermensagensdeerroereconcileerrorcommaisde255caracteres –

Các vấn đề liên quan