السلام عليكم،
هل يمكن كتابة كود سي (وليس سي ++) في ال QT وتنفيذه؟
اذا ممكن الرجاء ايضاح ذلك.
السلام عليكم،
هل يمكن كتابة كود سي (وليس سي ++) في ال QT وتنفيذه؟
اذا ممكن الرجاء ايضاح ذلك.
وعليكم السلام ورحمة الله وبركاته
لا أعتقد ذلك ف Qt بالكامل تعتمد على c++ هي مكتبة تعتمد على الكائنات بالكامل
فأنت بحاجة الى الوراثة اذا ما اردت استخدام الأحداث او ال threads h وحتى للتعامل مع signal و slots .
اعتقد والله اعلم اننا يجب ان نستخدم ال c++ .
اشكرك على الرد. كنت اعتقد ان السي موجودة ضمنيا ضمن السي ++.
إستخدم GTK+ و أرح بالك .
''اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل بلية''
'اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء منهم و الأموات'
www.it-scoop.com
وعليكم السلام ورحمة الله وبركاته ،
يمكنك ان تستخدم كود سي بداخل مشروع كيوتي بدون أي مشاكل ، لان المترجم سيتعامل معه على أنه كود سي++.
و في حالة استخدام مكتبة خارجية (أو object file ) متكوبة بالسي ، عليك ان تحيط ملف الرأس له ب
extern "C" {
}وذلك حتى لا يقوم مترجم سي++ بعمل Mangling لل symbol الموجودة في ملف الرأس ، والتي ستسبب مشكلة عند الربط linking.
مثال بسيط :
ملف Cfunctions.h
#ifndef CFUNCTIONS_H #define CFUNCTIONS_H int sqr(int); #endif // CFUNCTIONS_H
ملف Cfunctions.c
#include "Cfunctions.h"
int sqr(int n)
{
return n*n;
}ملف main.cpp
#include <QCoreApplication>
#include <stdio.h>
extern "C" {
#include "Cfunctions.h"
}
int main(int argc,char* argv[])
{
QCoreApplication app(argc,argv);
int x = sqr(3);
printf("x = %d\n",x);
return 0;
}النتيجة = 9.
لكن هذا لا يعني انك لن تستخدم سي++ ، فكيوتي مبنيه بها OOP لذلك يجب ان تستخدم سي++ لانشاء الفئات والوراثة والواجهات الرسومية و...الخ.
بالتوفيق.
تم تعديل هذه المشاركة بواسطة SudaNix في 9 ديسمبر 2009 في 03:59
اشكرك اخي SudaNix كفيت واوفيت.
جاري التجربه.
ضع الكود.
الدالة تعمل جيدا ، لكن اذا كنت في نظام ويندوز يجب أن تضيف السطر التالي الى ملف المشروع .pro
CONFIG += console
حتى تستطيع أن تتعامل مع الشاشة النصية I/O .
وفي لينوكس لا يجب ان تضيف شيئا.
بالتوفيق.
اشكرك اخي على سرعة الرد. السطر المذكور موجود مسبقا. و البرنامج يعطي الخطأ اعلاه.
خطأ وقت ال runtime غالبا بسبب مشاكل الذاكرة allocate/deallocate ، ربما استخدمت scanf بشكل خاطئ..
ضع الكود الذي يسبب المشكلة.
بالتوفيق.
اقتباسربما استخدمت scanf بشكل خاطئ
يا سلام عليك. فعلا ، نسيت كتابة & قبل المتغير.
اشكرك مرة اخرى لطولة بالك. :wub:
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…