امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
چسباندن C object کامپایل شده با vs در delphi xe2
نویسنده پیام
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #1
چسباندن C object کامپایل شده با vs در delphi xe2
با سلام
در نسخه Delphi XE2 شما این امکان رو دارید که میتوانید توابع مورد نیاز خود را در visual stodio نوشته و کامپایل کنید سپس فایلهای ابجکت ایجاد شده توسط کامپایلر مایکروسافت به دلفی منتقل و از ان توابع به راحتی در برنامه استفاده کنید رو با استفاده از لینکر دلفی به فایل exe تبدیل کنید

برای این کار ابتدا Vs2010 را باز کنید از منو گزینه new project مربوط به visual C++ را انتخاب کنید در صفحه بعدی شما میتوانید حالتهای مختلفی را انتخاب کنید مانند empty Project که میتوانید به جای ان گزینه های زیر را انتخاب کنید
Win32 Console Application یا Win32 Project از قسمت Win32 Project انتخاب کنید سپس یک C++ File و Header File از منوی Project اضافه کنید حالا این 2 فایل به پروزه اضافه میشود حالا در Solution Explorer روی C++ File راست کلیک کرده Properties را انتخاب کنید حالا در پنجره جدید c/c++ و از زیر منو های باز شده گزینه Advanced را اتخاب کنید حالا مقدار compile as را روی Compile As C Code(/TC) قرار دهید و Precompiled headers را انتخاب و PreCompile Header را روی Not Using PreCompiled Header قرار دهید حالا در General قسمت را Use Unicode را Yes تنظیم کنید سپس در قسمت Code Genration مقادیر زیر را تنظیم کنید
Enable C++ Exceptions="No"
Buffer Security Check = "No"
و از قسمت Optimization مقدار Optimization را برابر "No" تنظیم کنید حالا کدها و توابع خود را بنویسید و موقع کامپایل روی فایل مورد نظر راست کلیک کرده و کامپایل را انتخاب کنید 32 بیت یا 64 بیت تفاوتی ندارد با این کار فایلهای .obj تولید خواهد شد حالا این فایلهای .obj را میتوانید به پوشه پروجکت دلفی منتقل کنید
در حالت 32 بیت
لینکر دلفی اطلاعاتی در مورد پارامترهای استفاده شده در توابع c++ ایجاد شده در vs ندارد به همین دلیل شما باید 1 بار ان توابع را در یک یونیت 2 باره تعریف کنید توجه داشته باشید که اعلان توابع را cdecl و external انتخاب کنید زیرا ارسال پارامترها در دلفی راست به چپ و درc++ از چپ به راست میباشد توجه داشته باشید اگر از توابع api یا c++ runtime استفاده کردید باید انها را نیز در یونیت مورد نظر اعلان کنید با همان اعلان cdecl

در حالت 64 بیت
استفاده از فایلهای .obj 64 بیتی راحتر از 32 بیتی میباشد زیرا فقط اعلان fastcall دارند

منبع:
کد:
http://www.atelierweb.com/articles/linkCtoDElphi.htm
پروژه مثال

کد:
http://www.atelierweb.com/articles/VSandDelphi.zip

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
(آخرین ویرایش در این ارسال: ۱۲-دى-۱۳۹۰, ۱۱:۵۰:۳۵، توسط lord_viper.)
۰۷-دى-۱۳۹۰, ۲۱:۵۶:۲۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, The.Ghost


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  codegear rad studio 2009 To Delphi Prism lukaskain 0 836 ۰۸-اردیبهشت-۱۳۹۸, ۰۱:۴۳:۵۶
آخرین ارسال: lukaskain
  مشکل در اندازه و فونت در Delphi 10 Seattle The.Ghost 2 2,470 ۲۲-مهر-۱۳۹۴, ۱۴:۳۴:۳۷
آخرین ارسال: The.Ghost
Question how RightToLeft Text Hint in delphi The.Ghost 0 1,823 ۲۱-اردیبهشت-۱۳۹۴, ۱۵:۲۱:۵۷
آخرین ارسال: The.Ghost
  Indy 10 for Delphi 7 xxxzzz 0 1,872 ۱۲-آذر-۱۳۹۳, ۰۵:۳۴:۲۱
آخرین ارسال: xxxzzz
Question Connecting to SQL Server 2000 using Delphi and dbExpress The.Ghost 2 3,196 ۰۷-آذر-۱۳۹۳, ۲۲:۴۴:۲۳
آخرین ارسال: The.Ghost
  سریال معتبر برای نصب Delphi XE5 godvb 0 3,242 ۲۶-مهر-۱۳۹۲, ۱۴:۳۰:۴۰
آخرین ارسال: godvb
Question عوض کردن آیکون EXE در Delphi XE3 The.Ghost 0 2,091 ۲۴-مرداد-۱۳۹۲, ۱۶:۳۴:۴۵
آخرین ارسال: The.Ghost
  آموزش دلفی به صورت تصویری و با توضحیحات کامل ( Delphi XE3 ) pr0gramm3r 3 10,558 ۳۰-اردیبهشت-۱۳۹۲, ۰۹:۵۶:۵۰
آخرین ارسال: pop_0098
  نحوه استفاده از کدهای زبان c در زبان Delphi The.Ghost 1 3,269 ۰۶-اردیبهشت-۱۳۹۱, ۱۳:۳۴:۰۰
آخرین ارسال: The.Ghost
  delphi 7 lite حجم 75.9 مگ lord_viper 0 3,016 ۰۵-بهمن-۱۳۹۰, ۱۵:۱۶:۱۴
آخرین ارسال: lord_viper

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS