n4r30s
شنبه 04 مهر 1388, 15:44 عصر
دوستان عزیز یک سوال برای من پیش اومده در مورد dll ها و با یک مثال توضیح میدم که درست تونسته باشم منظورم رو بیان کنم .
فرض کنید که یک dll ساختیم که در یک برنامه دیگه ای غیر خانواده C ازش استفاده میکنیم مثل نرم افزارهایی که از اسکریپتها استفاده میکنند . حالا توی این dll ما مثلا 2 تا فانکشن داریم ما با فانکشن اولی محتوای دو متغیر به نام های x و y رو به dll می فرستیم که در این فانکشن این دو متغیر رو با هم جمع میکنه حالا در اون اسکریپی که نوشتم تابع دوم رو فراخوانی میکنیم سوال اینه که آیا تابع دومی میتونه از نتیجه تابع اولی یعنی جمع دو متغیر بالا استفاده کنه ؟ بدون اینکه ما در ورودی تابع دومی استفاده کنیم ؟
یعنی اینکه دو تا متغیر رو در ورودی تابع اولی بدیم که در فایل dll محاسباتی روی این دو تا متغیر انجام بده و بعد وقتی تابع دوم رو فراخوانی میکنیم از اون متغیر تابع اولی استفاده کنه ؟
این کد رو ببینید :
#import "test.dll"
void fun1(double& a0[], double& a1[], double& a2[]);
void fun2(int a0, int& a1[], int a2);
#import
int start()
{
...
fun2(b1, b2, b3);
fun1(c1, c2, c3);
...
}
آیا این توابع تاثیری روی متغیرهای b و c داره ؟ یعنی اینکه بدون اینکه تابع مقدار برگشت داشته باشه چطور میتونه با این اسکریپت ارتباط برقرار کنه ؟
امیدوارم منظورم رو تونسته باشم برسونم هر چند که فکر نکنم و توضیحش برام سخت بود .
با تشکر
فرض کنید که یک dll ساختیم که در یک برنامه دیگه ای غیر خانواده C ازش استفاده میکنیم مثل نرم افزارهایی که از اسکریپتها استفاده میکنند . حالا توی این dll ما مثلا 2 تا فانکشن داریم ما با فانکشن اولی محتوای دو متغیر به نام های x و y رو به dll می فرستیم که در این فانکشن این دو متغیر رو با هم جمع میکنه حالا در اون اسکریپی که نوشتم تابع دوم رو فراخوانی میکنیم سوال اینه که آیا تابع دومی میتونه از نتیجه تابع اولی یعنی جمع دو متغیر بالا استفاده کنه ؟ بدون اینکه ما در ورودی تابع دومی استفاده کنیم ؟
یعنی اینکه دو تا متغیر رو در ورودی تابع اولی بدیم که در فایل dll محاسباتی روی این دو تا متغیر انجام بده و بعد وقتی تابع دوم رو فراخوانی میکنیم از اون متغیر تابع اولی استفاده کنه ؟
این کد رو ببینید :
#import "test.dll"
void fun1(double& a0[], double& a1[], double& a2[]);
void fun2(int a0, int& a1[], int a2);
#import
int start()
{
...
fun2(b1, b2, b3);
fun1(c1, c2, c3);
...
}
آیا این توابع تاثیری روی متغیرهای b و c داره ؟ یعنی اینکه بدون اینکه تابع مقدار برگشت داشته باشه چطور میتونه با این اسکریپت ارتباط برقرار کنه ؟
امیدوارم منظورم رو تونسته باشم برسونم هر چند که فکر نکنم و توضیحش برام سخت بود .
با تشکر