Tegishli nashrlar 'gcc'


C (GNU Linux) dasturlash uchun birinchi qadamlar
Oldingi bilimlar , maslahat sifatida men sizga c (dasturlash tili) , kompilyator , GCC (GNU Compiler Collection) , Linux matn muharrirlari haqidagi ma’lumotlarni ko‘rib chiqishingizni tavsiya qilaman. (vi, vim, emacs, atom va boshqalar)», Linux shell , Bash , assembler . Keling, C tilida birinchi dasturimizni yozamiz, buning uchun biz Linux matn muharriridan foydalanamiz (vi, emacs, atom, va hokazo), keyingi kodni yozamiz va uni hello.c sifatida saqlang: Buni..

RELRO: Qayta joylashishni faqat o'qish uchun
Ushbu maqola dastlab 2011-yil 2-iyun da blog.isis.poly.edu saytiga joylashtirilgan. Ushbu maqolada ELF ko'chirish bo'limlari, ularni o'zboshimchalik bilan kodni bajarish uchun qanday suiiste'mol qilish va ularni ish vaqtida qanday himoya qilish kerakligi tasvirlangan. ELF ko'chirish bo'limlari Dinamik bog'langan ELF ikkilik fayli umumiy kutubxonalarda joylashgan funktsiyalarni dinamik ravishda hal qilish uchun Global Offset Table (GOT) deb nomlangan qidirish jadvalidan foydalanadi...

C++ atributlari
C++ 11 da atributlar gnu __attribute__ va msvc ning __declspec kabi standartlashtirilgan funktsiyalarga qo'shilgan. Standart atributlar uchun til qoidalari, shuningdek nomlar maydonidan foydalanish orqali nostandart atributlar, garchi nostandart atributlarning xatti-harakati faqat C++ 17 uchun belgilangan edi. Va afsuski, 2018 yil holatiga ko'ra, na GCC, na MSVC portativ C++ standart sintaksisi bo'lsa-da, sotuvchiga xos atributlarini taklif qilmaydi. Ko'pgina standart atributlar C++..

C dasturlash tili uchun kompilyatsiya jarayoni
Kompyuter dasturlash tillari turli xil kodli so'zlardan foydalangan holda kompyuter uchun ko'rsatmalar yozish maqsadida yaratilgan kuchli vositadir. Ushbu kod bugungi kunda kundalik hayotimizning bir qismiga aylangan ajoyib dasturiy ta'minotni yaratishga yordam berdi. Lekin ular qanday ishlaydi? Birinchidan, kompyuter tillarining ikkita asosiy toifasini tushunish foydali bo'ladi. Past darajadagi tillar va yuqori darajadagi tillar Dasturlash tillarini odatda ikkita turdan biriga..

Kompilyatsiya jarayoni C dasturlari uchun qanday ishlaydi
C kompilyatsiya qilingan tildir. Uning dastlabki kodi dasturchi tanlagan har qanday muharrir yordamida matn fayli koʻrinishida yoziladi, keyin uni mashina kodiga kompilyatsiya qilish kerak. C manba fayllari konventsiya bo'yicha .c kengaytmasi bilan nomlanadi va biz C manba fayllarini kompilyatsiya qilish uchun “gcc” buyrug'idan foydalanamiz. (GCC GNU Compiler Collection degan maʼnoni anglatadi va bu GNU loyihasi tomonidan ishlab chiqarilgan kompilyator tizimidir.)..

Tegishli savollar 'gcc'

64-bitli registrning pastki 32-bitini qanday qilib BSWAP qilish kerak?
Men 64-bitli registrning pastki 32-bitli pastki registrlari uchun BSWAP-dan qanday foydalanish haqida javob izlayapman. Misol uchun, 0x0123456789abcdef RAX registrida joylashgan va men uni bitta ko'rsatma bilan 0x01234567efcdab89 ga...
5168 qarashlar
schedule 15.05.2024

Linuxda Objective-C axlat yig'iladimi?
Objective-C v2.0 (bu mac foydalanadi) yangi xususiyatga ega bo'ldi, axlat yig'ish. Men Linux kompyuterida bolaman (agar siz hayron bo'lsangiz, Ubuntu). Mening savolim shuki, gcc/g++ kompilyatoridan foydalanish Objective-C axlat yig'iladimi?
970 qarashlar
schedule 14.01.2024

Xatolik if(0)da toʻrtta nos bilan tuzatildi, dunyo endi mantiqiy emas
Men berilgan chiziqli tengsizliklar tizimining yechimi bor-yo‘qligini aniqlash uchun funktsiyani yozayotgan edim, u birdaniga zararsizdek tuyulgan o‘zgarishdan keyin noto‘g‘ri javob bera boshladi. Men ba'zi o'zgarishlarni bekor qildim, ularni qayta...
730 qarashlar
schedule 21.12.2023

C da "ma'lumotlar turining cheklangan diapazoni tufayli taqqoslash har doim to'g'ri" degan ogohlantirish bormi?
Menda quyidagi kod bor //Point.h #define WIDTH 8 #define HEIGHT 8 typedef struct Point { char x; char y; } Point; //Board.c #include <stdbool.h> // Some other functions that we don't care about... bool inBounds(Point * p) { return...
26628 qarashlar
schedule 13.01.2024

Win32 da GCC bilan yig'ish belgilariga asosiy pastki chiziqlar qo'shiladimi?
Assambleyada belgilangan funktsiyani chaqiradigan C kodining bir qismi bor. Misol tariqasida, deylik foo.c quyidagilarni o'z ichiga oladi: int bar(int x); /* returns 2x */ int main(int argc, char *argv[]) { return bar(7); } Va bar.s x86...
22284 qarashlar
schedule 26.07.2022

Gcc bajariladigan stek hajmini qanday oshirish mumkin?
Menda katta Boost/Spirit metadasturi bor, uni kompilyatsiya qilmoqchi bo'lganimda gcc stekini puflaydi. Ushbu dasturni kompilyatsiya qilish uchun gcc stek hajmini qanday oshirishim mumkin? Eslatma: Cheksiz rekursiya davom etmaydi, lekin gcc...
16192 qarashlar
schedule 16.03.2024

Supc++ uchun havolalar qatori haqiqatdan ham muhimmi?
Bu avvalgi savolning davomi - G++ bilan boshqa STLdan qanday foydalanish kerak Endi men boshqa STL dan foydalanganda yaratish uchun kodimni olishim mumkin. Biroq, men hali ham -lsupc++ ni bog'lashim kerak (aytib o'tilgan turli STL bilan...
1488 qarashlar
schedule 31.07.2022

Mac-da universal ikkilik fayllarni yaratish - Yagona kompilyatorning asosiy jarayonini majburlash
Salom, kompaniyada biz o'yinlarimiz portini yaratmoqdamiz va PythonOgre ni kompilyatsiya qilishimiz kerak. Python uchun Ogre3d. Bu juda katta kod bo'lagi, xususan, yaratilgan o'rash kodi. Bizda 1 GB operativ xotiraga ega Mac Mini bor. Biz...
357 qarashlar
schedule 19.10.2023

Global miqyosda Google malloc-dan foydalanasizmi?
Men Linuxda Google-ning tcmalloc-ni sinab ko'rmoqchiman... Bu yerda mening ulkan loyiham bor, yuzlab qmake-da Makefile-da yaratilgan... Men gcc-ni tcmalloc-ga global bog'lanish uchun yo'l topmoqchiman (xuddi shunday qiladi). libc bilan)... Bu...
1831 qarashlar
schedule 20.11.2023

Objective-C-da zaxiralangan kalit so'zlar?
Kecha CocoaHeads Öresund yig'ilishida peylow ajoyib ObjC viktorinasini tuzdi. Raqobat shiddatli o'tdi va yakuniy savol baholanishi kerak bo'lganda uch kishi bir xil ball bilan qoldi: Objective-C C ga nechta zaxiralangan kalit so'z qo'shadi?...
11158 qarashlar

Solarisda getopt yashirin deklaratsiyasi?
Solarisda gcc menga beradi "getopt" funktsiyasining yashirin deklaratsiyasi kompilyatsiya qilishda #include <unistd.h> #include <stdlib.h> int main(int argc, char *argv[]) { getopt(1,argv,""); return 0; }...
4951 qarashlar
schedule 26.03.2024

gcc: ogohlantirish: katta tamsayı bilvosita belgisiz turga qisqartirilgan
#include<stdio.h> int main() { unsigned char c; c = 300; printf("%d",c); return 0; } Chiqish biron-bir tarzda bashorat qilinadimi yoki aniqlanmaganmi?
28987 qarashlar
schedule 29.11.2023

ada95 da 3 ta .ali, .adb va .o fayllari bor - kompilyatsiya qila olamanmi?
Men kollejda eski ish topdim, unda mening oxirgi Ada95 loyiham bor. Afsuski, disk buzilgan va men faqat 3 ta faylni tiklashga muvaffaq bo'ldim (manba va bajariladigan faylni tiklab bo'lmadi): project.adb, project.ali va project.o Ushbu 3 ta...
530 qarashlar
schedule 18.09.2022

MSVC bo'lmagan kompilyator yordamida Windows ostida Unicode fayl nomi bilan fstreamni ochish
Fayl nomi "Unicode" fayl nomi bo'lsa, men faylni std::fstream (yoki boshqa std::ostream) sifatida ochishim kerak. MSVC ostida menda nostandart kengaytma bormi std::fstream::open(wchar_t const *,...) ? GCC (eng muhim) va ehtimol Borland...
9492 qarashlar
schedule 10.03.2024

C/C++ manbalarimga ‹omp.h› ni #qo‘shishim kerakmi?
Mening C/C++ manbalarimga omp.h kiritish kerakmi? Nega? Yoki nega emas? Gcc kompilyatori -fopenmp bayrog'i bilan foydalanilganda sukut bo'yicha uni o'z ichiga oladimi? Siz farq qilmayotganga o'xshaydi.
18299 qarashlar
schedule 16.05.2024

GCC bezatilgan funksiya nomini faqat dll dan eksport qiladi
Menda DLL bor, u funktsiyani eksport qiladi ... extern "C" int __stdcall MP_GetFactory( gmpi::IMpUnknown** returnInterface ) { } Men buni Code::Blocks GCC kompilyatori (V3.4.5) bilan tuzaman. Muammo: natijada DLL bezatilgan funksiya nomini...
2045 qarashlar
schedule 15.04.2024

Objdump qanday qilib -S opsiyasi bilan manba kodini ko'rsata oladi?
Ikkilik faylda manba faylga havola bormi? Ikkilik faylda satrlarni ishga tushirishga harakat qildim va ro'yxatdagi manba fayliga havola topa olmadim ...
49252 qarashlar
schedule 07.11.2022

libcsiz kompilyatsiya qilish
Men C-kodimni (g)libcsiz kompilyatsiya qilmoqchiman. Qanday qilib uni o'chirib qo'yishim mumkin va qaysi funktsiyalar unga bog'liq? Men -nostdlib ni sinab ko'rdim, lekin yordam bermadi: Kod kompilyatsiya qilinadi va ishlaydi, lekin men hali ham...
42458 qarashlar
schedule 11.03.2024

libpcap paket hajmi
Men Linux (centos) da C tilida libpcap bilan ishlayapman va buni kuzatib boraman. yo'riqnoma Men butun paketni ascii-da oddiygina chop qilmoqchiman va uni "my_callback" funksiyasida u_char* kodlash orqali ishga tushirishga muvaffaq bo'ldim. Lekin...
3576 qarashlar
schedule 16.11.2023

Ko'proq GCC ulanish vaqti bilan bog'liq muammolar: asosiyga aniqlanmagan havola
Men Cortex-A8 protsessori uchun dasturiy ta'minot yozyapman va ma'lum registrlarga kirish uchun ARM yig'ish kodini yozishim kerak. Men gnu kompilyatorlari va tegishli asboblar zanjirlaridan foydalanmoqdaman, bu vositalar Ubuntu bilan protsessor...
15637 qarashlar
schedule 07.07.2022