انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: kook65247 در 02 اسفند 1399، 08:15 ق‌ظ

عنوان: اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 02 اسفند 1399، 08:15 ق‌ظ
توی محیط vscode با زبان C توی تابع main از توابعی که توی یه فایل دیگه هست استفاده کنم.(کتابخونه های شخصی)
ابتدای برنامه هدر فایل رو include کردم اما موقع اجرا کردن اون قسمت هایی که از توابع یک فایل دیگه استفاده شده خطا میده و میگه نمیشناستشون
سیستم عامل اوبونتو (لینوکس) هست.

main.c:(.text+0x2af): undefined reference to `func1'
/usr/bin/ld: main.c:(.text+0x2e0): undefined reference to `func2'

وقتی تنها از خود فایل main.c استفاده میکنم مشکلی نداره و برنامه درست اجرا میشه.

توی یکسری از آموزش هایی که دیدم نوشته بود که باید آدرس فایل هایی که قصد اضافه کردن داریم رو توی فلان قسمت اضافه کنید چون آموزش برای ویندوز بود از چیزی شبیه به

c://user/...
استفاده شده بود اما برای اوبونتو بجای c:// بنده به چیزی شبیه به /munt/434636245762562... رسیدم اما این اضافه کردن آدرس هم جواب نداد.

در کل حسابی گیج شدم
دلیل استفاده از vs Code قابلیت هایی که داره و پوشش زیادی هست که برای اکثر زبان ها داره

لطفا راهنماییم کنید







عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: Dragon- در 02 اسفند 1399، 10:19 ق‌ظ
برای استفاده از کتابخونه‌های شخصی نباید از <> توی include کردنشون استفاده کرد. به‌جاش از "" یا '' استفاده کنید.
برای استفاده از اونها هم باید مسیر کامل رو توی include کردن، مشخص کرد. مثلا اگه یه کتابخونه شخصی به اسم mylib.h توی مسیر /home/username/project/mylib.hدارم‌، برای استفاده توی c، اینجوری include می‌کنم
#include "/home/username/project/mylib.h"پسوند فایل حتما باید h. باشه.

راه دیگه اینه‌ که تمام کتابخونه‌ها و فایل اصلی یه جا باشند که اینجوری لازم نیست مسیر مطلق بدید، کافیه که اسم فایل رو فقط بدید (توی "").
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: sd70 در 02 اسفند 1399، 03:42 ب‌ظ
با توجه به متن خطا مشکلی در اینکلود شدن فایل هدرتون وجود نداره چون در غیر این صورت موقع کامپایل خطایی شبیه به این نمایش داده میشد:
main.c:1:10: fatal error: your_lib.h: No such file or directory

این ارور، ارور لینکر هستش و معنیش اینه که فقط فایل main.c به تنهایی کامپایل شده و بهمین دلیل در مرحله لینک شدن این مشکل پیش اومده. با فرض اینکه از gcc استفاده میکنید انگار چنین دستوری اجرا شده باشه:
gcc main.c -o output
در صورتی که باید اون فایل c که شامل تعریف (definition) توابع تون هست هم کامپایل بشه؛ یعنی به این صورت:
gcc main.c your_lib.c -o output
در این زمینه با vscode کار نکردم و آشنایی ندارم اما یه سرچ کلی کردم به نظر میاد در یک سری فایل json که مربوط به پروژه میشه باید اسم فایلهای c درج شده باشه که احتمالا پلاگینی برای انجام خودکار این کار وجود داره. پیشنهاد میکنم عبارت multi-file c/c++ project vscode رو سرچ کنید.
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 02 اسفند 1399، 05:13 ب‌ظ
برای استفاده از کتابخونه‌های شخصی نباید از <> توی include کردنشون استفاده کرد. به‌جاش از "" یا '' استفاده کنید.
برای استفاده از اونها هم باید مسیر کامل رو توی include کردن، مشخص کرد. مثلا اگه یه کتابخونه شخصی به اسم mylib.h توی مسیر /home/username/project/mylib.hدارم‌، برای استفاده توی c، اینجوری include می‌کنم
#include "/home/username/project/mylib.h"پسوند فایل حتما باید h. باشه.

راه دیگه اینه‌ که تمام کتابخونه‌ها و فایل اصلی یه جا باشند که اینجوری لازم نیست مسیر مطلق بدید، کافیه که اسم فایل رو فقط بدید (توی "").

متشکرم استاد
تمام این موارد رعایت شده
اما برای اینکلود کردن توی محیط vsCode اینگار باید تنظیماتی توی بخش setting انجام بشه تا فراخوانی بدرستی صورت بگیره و تا الان تنها توی محیط vscode موفق نشدم اما توی محیط های دیگه مثل iar, Code::Blocks, eclipse, stm32CubeIDE, keil, visual studio و ... مشکلی نداشتم.

واقعا هنگ کردم البته میدونم صرفا بدلیل بی تجربگی بنده توی استفاده از این نرم افزار هست که ان شاء الله با کمک دوستان یادش میگیرم
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 02 اسفند 1399، 05:16 ب‌ظ
با توجه به متن خطا مشکلی در اینکلود شدن فایل هدرتون وجود نداره چون در غیر این صورت موقع کامپایل خطایی شبیه به این نمایش داده میشد:
main.c:1:10: fatal error: your_lib.h: No such file or directory

این ارور، ارور لینکر هستش و معنیش اینه که فقط فایل main.c به تنهایی کامپایل شده و بهمین دلیل در مرحله لینک شدن این مشکل پیش اومده. با فرض اینکه از gcc استفاده میکنید انگار چنین دستوری اجرا شده باشه:
gcc main.c -o output
در صورتی که باید اون فایل c که شامل تعریف (definition) توابع تون هست هم کامپایل بشه؛ یعنی به این صورت:
gcc main.c your_lib.c -o output
در این زمینه با vscode کار نکردم و آشنایی ندارم اما یه سرچ کلی کردم به نظر میاد در یک سری فایل json که مربوط به پروژه میشه باید اسم فایلهای c درج شده باشه که احتمالا پلاگینی برای انجام خودکار این کار وجود داره. پیشنهاد میکنم عبارت multi-file c/c++ project vscode رو سرچ کنید.

ممنون استاد

اتفاقا به همین تنظیمات json برخورد کرم اما چون رشتم برنامه نویسی نبوده اطلاعات ضعیفی در اینخصوص دارم و همون اضافه کردن آدرسی که توی کامنت اول گفتم رو توی یکی از همین فایل های json اضافه کردم اما نتیجه نگرفتم.

ممنون بابت معرفی کلمات لازم جهت سرچ کردن حتما انجامش میدم ببینم چی میشه
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: sd70 در 02 اسفند 1399، 07:27 ب‌ظ
خواهش میکنم. ببینید vscode یک IDE نیست هر چند که ابزارها و پلاگین‌های خوبی داره که میشه تا حدی اون رو شبیه به یک IDE کرد.
در رابطه با برنامه نویسی c اگه برنامه‌ای که قراره بنویسید یک برنامه سادس و از نظر تعداد فایل‌ها و حجم پروژه پیچیدگی نداره میتونید تمام فایلها رو کنار هم قرار بدید و تو همون ترمینال خود vscode مستقیما دستور کامپایل رو اجرا کنید که ساده ترین شکلش به این صورته:
gcc main.c file1.c file2.c -o your_output
اگر هم پروژه تون ساده نیست طبیعتا استفاده از این روش خیلی ممکنه کارایی نداشته باشه و بهتره از ابزارهایی که vscode در اختیار تون میذاره استفاده کنید (فکر میکنم پلاگین های مناسبی رو برای این کار داشته باشه)

روش‌های دیگری هم نظیر make، استفاده از IDE و ... وجود داره اما همون vscode یا اجرای مستقیم gcc (در صورتی که پروژه تون کوچیکه ) فکر میکنم مناسب باشه
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 03 اسفند 1399، 12:40 ق‌ظ
خواهش میکنم. ببینید vscode یک IDE نیست هر چند که ابزارها و پلاگین‌های خوبی داره که میشه تا حدی اون رو شبیه به یک IDE کرد.
در رابطه با برنامه نویسی c اگه برنامه‌ای که قراره بنویسید یک برنامه سادس و از نظر تعداد فایل‌ها و حجم پروژه پیچیدگی نداره میتونید تمام فایلها رو کنار هم قرار بدید و تو همون ترمینال خود vscode مستقیما دستور کامپایل رو اجرا کنید که ساده ترین شکلش به این صورته:
gcc main.c file1.c file2.c -o your_output
اگر هم پروژه تون ساده نیست طبیعتا استفاده از این روش خیلی ممکنه کارایی نداشته باشه و بهتره از ابزارهایی که vscode در اختیار تون میذاره استفاده کنید (فکر میکنم پلاگین های مناسبی رو برای این کار داشته باشه)

روش‌های دیگری هم نظیر make، استفاده از IDE و ... وجود داره اما همون vscode یا اجرای مستقیم gcc (در صورتی که پروژه تون کوچیکه ) فکر میکنم مناسب باشه

با سرچی که پیشنهاد دادین تا حدی پیش رفتم اما باز نتیجه ای نگرفتم

پلاگین های زبان c رو روی vscode نصب کردم.

پروژه هایی که جهت تست به زبان c میارم روی vscode کمی شلوغ هستن برای همین کدی که گفتین:
gcc main.c file1.c file2.c -o your_output
استفاده ازش مشکل سازه.(البته برای تست نحوه اینکلود کردن تنها از ۱ فایل .h و .c استفاده میکنم تا کار ساده تر باشه)

من با ساختن و تعریف کردن فایل های make و json به نتیجه نرسیدم(البته ۹۹ درصد فکر میکنم توی تعریفات این فایل ها خطاهایی دارم که خودم نمیدونم چون تابحال با این شیوه کار نکرده بودم.)

در حال حاضر موقع زدن دکمه Run برنامه تنها فایل main.c رو کامپایل و اجرا میکنه اما با دستور
gcc main.c file1.c file2.c -o your_outputهمه فایلها کامپایل میشن و آدرس فایل ها شناسایی میشه!!!

puts("please Help me!!!")
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: sd70 در 03 اسفند 1399، 01:05 ق‌ظ
اگه فایل های c دقیقا کنار فایل main تون قرار داره بعنوان یک روش موقت (بدون استفاده از ابزارهایی نظیر make یا پلاگین‌های vscode) میتونین دستور رو به این صورت استفاده کنید تا نیازی نباشه اسم تک تک فایلها بصورت مجزا تایپ بشه:
gcc *.c -o your_output
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: esmaeelE در 03 اسفند 1399، 10:31 ق‌ظ
شاید بهتر باشه که پوشه پروژه را فشرده و ارسال کنید.

عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 03 اسفند 1399، 02:12 ب‌ظ
اگه فایل های c دقیقا کنار فایل main تون قرار داره بعنوان یک روش موقت (بدون استفاده از ابزارهایی نظیر make یا پلاگین‌های vscode) میتونین دستور رو به این صورت استفاده کنید تا نیازی نباشه اسم تک تک فایلها بصورت مجزا تایپ بشه:
gcc *.c -o your_output

متشکرم بابت راهنمایی های شما
ان شاء الله مشکل رو حل کنم جوابش رو میزارم تا بقیه مثل من گیر نکنن

اما هنوز کارم راه نیفتاده (البته فعلا جهت راه افتادن کار دارم از eclipse c/c++  استفاده میکنم ولی بخاطر قابلیت های vsCode میخوام یادش بگیرم)
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 03 اسفند 1399، 02:13 ب‌ظ
شاید بهتر باشه که پوشه پروژه را فشرده و ارسال کنید.

لینک پوشه:
https://s16.picofile.com/file/8425770434/vsCodeWs.zip.html (https://s16.picofile.com/file/8425770434/vsCodeWs.zip.html)

اگر دستور :
//testFunc1();رو از کامنت در بیارید مشکلات نشون داده میشه و اگر کامنت کنید برنامه درست اجرا میشه.
برنامه توی main و برنامه توی تابع testFunc1() یکی هستن.
برنامه main اجرا میشه اما برنامه تابع اجرا نمیشه
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: esmaeelE در 03 اسفند 1399، 08:38 ب‌ظ
برنامه مشکلی ندارد.

در پوشه پروژه دستور زیر را اجرا کنید.

کامپایل
gcc *.c -o barnameاجرا
$ ./barname
//---side1
test in main is OK...
8.000000
8.000000
//---side2
test include external lib is OK...
8.000000
8.000000

این‌که test.c اجرا نمی‌شود درست است و نباید هم اجرا شود چون ()main ندارد.




هر برنامهٔ نوشته شده به زبان C یک تابع منحصربفرد به نام ()main دارد که اجرای برنامه را شروع می‌کند.

برنامه‌ها در فایل‌هایی با پسوند c. به نام source نوشته می‌شوند در این نمونه دو source دارید
main.c
test.c

سرآیند‌ها (Header) معمولا در ابتدای کد قرار می‌گیرند و کتابخانه‌هایی که برای اجرای آن فایل لازم است را اضافه می‌کنند. از این فایل‌ها در مرحله پیوند استفاده خواهد شد.

برنامه C برای تبدیل شدن به فایل اجرایی نیاز به کامپایل دارد.
به طور خلاصه و نادقیق در فرایند تبدیل فایل c. به برنامه اجرایی دو مرحله اصلی داریم
۱. تولید کد میانی object code
۲. پیوند زدن قسمت‌ها به هم link 

بسته gcc شامل تمام ابزارهای لازم برای این‌کار هست.
apt install gcc
gcc می‌تواند این مراحل را با هم ترکیب کند و اغلب نیازی به اجرای گام به گام ندارید.

دستور زیر را در نظر داشته باشید.
gcc main.c test.c -o barname
دو فایل main.c و test.c را کامپایل کردیم و در خروجی یک فایل اجرایی با نام barname ساخته شده است که با barname/. می‌توانیم آن را اجرا کنیم.

در واقع اینجا gcc مرحله تولید object code و پیوند زدن را با هم انجام داده است.

شما به همین نیاز خواهید داشت.

یک تغییرات مختصری هم در فایل‌ها دادم. پیوست اول را ببینید.



برای این‌که مجبور نباشید هر بار مرحله کامپایل را دستی تکرار کنید می‌توانید از build systemها استفاده کنید برای نمونه make.

در پروژه‌های بزرگتر فایل‌ها را در پوشه‌های جداگانه قرار می‌دهند.

برای این مثال چینش فایل‌ها به این شکل انجام دادم

$ tree
.
├── headers
│   └── test.h
├── Makefile
└── src
    ├── main.c
    └── test.c

با افزودن makefile از این پس برای کامپایل و ساخت فایل اجرایی کافی است تنها دستور make را اجرا کنید.

پیوست دوم، پروژه به همراه استفاده از make است.

پس از اجرای دستور make پوشه‌ای به نام bin حاوی فایل اجرایی ساخته خواهد شد.
اجرا
bin/barname
مرتبط
https://cs.colby.edu/maxwell/courses/tutorials/maketutor
https://gist.github.com/maciejjo/4ee74f6603f4a4497093


ابتدا روند کار را بیاموزید سپس به تنظیمات محیط توسعه با توجه به نیازها بپردازید.

عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 04 اسفند 1399، 12:28 ق‌ظ
برنامه مشکلی ندارد.

در پوشه پروژه دستور زیر را اجرا کنید.

کامپایل
gcc *.c -o barnameاجرا
$ ./barname
//---side1
test in main is OK...
8.000000
8.000000
//---side2
test include external lib is OK...
8.000000
8.000000

این‌که test.c اجرا نمی‌شود درست است و نباید هم اجرا شود چون ()main ندارد.




هر برنامهٔ نوشته شده به زبان C یک تابع منحصربفرد به نام ()main دارد که اجرای برنامه را شروع می‌کند.

برنامه‌ها در فایل‌هایی با پسوند c. به نام source نوشته می‌شوند در این نمونه دو source دارید
main.c
test.c

سرآیند‌ها (Header) معمولا در ابتدای کد قرار می‌گیرند و کتابخانه‌هایی که برای اجرای آن فایل لازم است را اضافه می‌کنند. از این فایل‌ها در مرحله پیوند استفاده خواهد شد.

برنامه C برای تبدیل شدن به فایل اجرایی نیاز به کامپایل دارد.
به طور خلاصه و نادقیق در فرایند تبدیل فایل c. به برنامه اجرایی دو مرحله اصلی داریم
۱. تولید کد میانی object code
۲. پیوند زدن قسمت‌ها به هم link 

بسته gcc شامل تمام ابزارهای لازم برای این‌کار هست.
apt install gcc
gcc می‌تواند این مراحل را با هم ترکیب کند و اغلب نیازی به اجرای گام به گام ندارید.

دستور زیر را در نظر داشته باشید.
gcc main.c test.c -o barname
دو فایل main.c و test.c را کامپایل کردیم و در خروجی یک فایل اجرایی با نام barname ساخته شده است که با barname/. می‌توانیم آن را اجرا کنیم.

در واقع اینجا gcc مرحله تولید object code و پیوند زدن را با هم انجام داده است.

شما به همین نیاز خواهید داشت.

یک تغییرات مختصری هم در فایل‌ها دادم. پیوست اول را ببینید.



برای این‌که مجبور نباشید هر بار مرحله کامپایل را دستی تکرار کنید می‌توانید از build systemها استفاده کنید برای نمونه make.

در پروژه‌های بزرگتر فایل‌ها را در پوشه‌های جداگانه قرار می‌دهند.

برای این مثال چینش فایل‌ها به این شکل انجام دادم

$ tree
.
├── headers
│   └── test.h
├── Makefile
└── src
    ├── main.c
    └── test.c

با افزودن makefile از این پس برای کامپایل و ساخت فایل اجرایی کافی است تنها دستور make را اجرا کنید.

پیوست دوم، پروژه به همراه استفاده از make است.

پس از اجرای دستور make پوشه‌ای به نام bin حاوی فایل اجرایی ساخته خواهد شد.
اجرا
bin/barname
مرتبط
https://cs.colby.edu/maxwell/courses/tutorials/maketutor
https://gist.github.com/maciejjo/4ee74f6603f4a4497093


ابتدا روند کار را بیاموزید سپس به تنظیمات محیط توسعه با توجه به نیازها بپردازید.
نمودونم چندبار خوندم تا کامل متجه بشم چی به چیه!!!
هر دو روش رو تست کردم و جواب داد
بسیار متشکرم عالی و خیلی نکته داشت

درمورد فایل makefile کتاب یا سندی دارید برای مطالعه، میخوام یاد بگیرم فردا روز برای پروژه دیگه ای قصد استفاده داشته باشم بتونم تنظیماتش رو انجام بدم

برای vsCode راهی هست که مثل نرم افزارهایی همچون visual studio , codeBlocks, keil, iar, bascom, codevision, eclipse و... پروژه رو نوشت و تمام عملیات لینک کردن و غیره رو خود vscode انجام بده؟

چون الان با شیوه ای که شما بیان کردید برنامه بدرستی راه میفته اما برای دیباگ کردن همون خطاهای سابق سرجاش مونده و نمیتونم از قابلیت دیباگ کردن برای برنامه ای که از کتابخونه های دستی استفاده میکنه ، استفاده کنم.(اما دیباگ کردنش برای برنامه ای که تنها از یک فایل حاوی main استفاده میکنه مشکلی نداره و کار میکنه.)
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: esmaeelE در 04 اسفند 1399، 01:43 ق‌ظ
برای آشنایی بیشتر با make همین لینک‌ها مناسب هستند.
کم کم شروع کنید و هر نمونه را یاد بگیرید.
مرتبط
https://cs.colby.edu/maxwell/courses/tutorials/maketutor
https://gist.github.com/maciejjo/4ee74f6603f4a4497093

فکر نمی‌کنم نیازی به کتاب داشته باشید برای پروژه‌هایی که انجام می‌دهید فهمیدن همین مقدار کافی است.



در مورد تنظیمات vscode باید فایل task.json را طوری تنظیم کنید که از make استفاده کند.

برای شروع اینجا (https://code.visualstudio.com/docs/cpp/config-linux) را ببینید و پروژه‌ای را گفته گام به گام بسازید.


vscode نرم‌افزار آزاد نیست می‌توانید به جای آن از vscodium استفاده کنید.
https://vscodium.com


ویرایش

مقاله فارسی زیر هم برای آشنایی با make خوب است
https://www.irantux.org/html/index.php?name=Sections&req=viewarticle&artid=211&page=1
نویسنده:‌ آیدین غریب نواز

عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: moheb2000 در 05 اسفند 1399، 09:26 ق‌ظ
من نمیدونم چرا اصرار دارید از vs code استفاده کنید ولی codeblocks هم امکانات فوق العاده بیشتر و قوی تری برای برنامه نویسی C داره و هم خیلی از این مشکلاتی که اینجا بهش خوردید رو بهش برنمیخورید. تنظیمات کامپایلر و لینکر و کامپایل کردن و خیلی از بخش های دیگش رو راحت میتونید انجام بدید
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: دانیال بهزادی در 05 اسفند 1399، 02:58 ب‌ظ
یه سری از هنرجوهام،‌تو کلاس از vscode استفاده می‌کردن، اون‌قدر داغون بود و اشتباه کار می‌کرد که همه مجبور شدن برن رو چیزهای دیگه.
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: kook65247 در 07 اسفند 1399، 09:44 ب‌ظ
برای آشنایی بیشتر با make همین لینک‌ها مناسب هستند.
کم کم شروع کنید و هر نمونه را یاد بگیرید.
مرتبط
https://cs.colby.edu/maxwell/courses/tutorials/maketutor
https://gist.github.com/maciejjo/4ee74f6603f4a4497093

فکر نمی‌کنم نیازی به کتاب داشته باشید برای پروژه‌هایی که انجام می‌دهید فهمیدن همین مقدار کافی است.



در مورد تنظیمات vscode باید فایل task.json را طوری تنظیم کنید که از make استفاده کند.

برای شروع اینجا (https://code.visualstudio.com/docs/cpp/config-linux) را ببینید و پروژه‌ای را گفته گام به گام بسازید.


vscode نرم‌افزار آزاد نیست می‌توانید به جای آن از vscodium استفاده کنید.
https://vscodium.com


ویرایش

مقاله فارسی زیر هم برای آشنایی با make خوب است
https://www.irantux.org/html/index.php?name=Sections&req=viewarticle&artid=211&page=1
نویسنده:‌ آیدین غریب نواز

ممنون استاد راهنمایی های شما و دوستان عالیی بود



من نمیدونم چرا اصرار دارید از vs code استفاده کنید ولی codeblocks هم امکانات فوق العاده بیشتر و قوی تری برای برنامه نویسی C داره و هم خیلی از این مشکلاتی که اینجا بهش خوردید رو بهش برنمیخورید. تنظیمات کامپایلر و لینکر و کامپایل کردن و خیلی از بخش های دیگش رو راحت میتونید انجام بدید

متشکر
چون فقط از c استفاده نمیکنم، البته codeBlocks برای فقط c به مراتب خوش دست تر هستش (بنده eclipse رو به codeBlocks ترجیح میدم صرفا چون eclipse برای زبانهای دیگه هم به یک شکل ثابت داره نرم افزار تولید میکنه که با یادگیری یکیشون میتونید برای زبان های دیگه هم از یک محیط شناخته شده استفاده کنید. در کل در قید و بند یک نرم افزار خاص نیستم هر کدوم ابزار بهتری باشه از اون استفاده میکنم)


یه سری از هنرجوهام،‌تو کلاس از vscode استفاده می‌کردن، اون‌قدر داغون بود و اشتباه کار می‌کرد که همه مجبور شدن برن رو چیزهای دیگه.
توی این مدت که با vsCode دارم کار میکنم چیزای عجیب زیاد دیدم مثلا با زدن دکمه ctrl+c بجای کپی کردن وارد insert میشد!
و خیلی چیزای دیگه که با بررسی و سوال و جواب و کمک بقیه تا جایی که بنده فهمیدم مشکل از vsCode نیست بلکه موقع نصب بعضی از extension ها یکسری تغییرات توی vscode بوجود میاد که باید خودتون اینهارو در صورت عدم نیاز تغییر بدین مثل همون مشکل دکمه ctrl+c که با غیر فعال کردن تنظیمات یک extension  درست شد و کپی میکرد.
بنظرم هنرجو ها از این موضوع بی اطلاع بودن

اما ماکروسافت این vsCode رو بقدری شلوغ کرده که گاهی اوقات یک text editor ساده رو ترجیح میدم.
عنوان: پاسخ : اینکلود کردن فایل .h در vscode
ارسال شده توسط: Amirreza_yar در 10 اسفند 1399، 11:14 ق‌ظ
آخر کد کامپایلتون lm اضاف کنید

gcc main.c your_lib.c -o output -lm