via Wykop Mobilny (Android)
  • 0
Ludzie, zagadka z rana.
Mam kod który niby używa funkcji z biblioteki algorithm, a jak nie dołączam tej biblioteki, to i tak się kompiluje.

Czemu tak jest? Coś przeciąża funkcje? Albo jakaś pamięć podręczna? Albo coś jest dołączone niejawnie w innej bibliotece?

Miejsce akcji: #gcc #linux
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pyroxar: najprawdopodobniej iomanip albo iostream sam wcześniej zaincludował algorithm, przez co tranzytywnie wylądowało dalej. ale nie należy na tym polegać, bo biblioteka standardowa w jednym kompilatorze może używać tego headera w swoim headerze, ale nie musi. i potem możesz skończyć z nieprzenośnym kodem, więc zostaw ten algorithm
  • Odpowiedz
@Aerwin jeżeli mowa o UAE to tak. Każdą swoją kartę SIM musiałem rejestrować w punkcie operatora na bazie paszportu, umowy (nawet Prepaid). Tam te zasady weszły w życie znacznie wcześniej niż w Unii.
  • Odpowiedz
No właśnie nei wiedziałem, ze tam też mają takie obostrzenia.


@Aerwin: Nawet jeszcze wieksze, bo w numer telefonu w Emiratach to wrecz Twoje 'identity'. Pelni badzo wazna role. No i oczywiscie uzywanie numeru zarejestrowanego na kogos innego jest nielegalne.
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@TMBRK: Natomiast nie ugiąłbym się w kwestii prekompilowanych nagłówków. Jeśli prowadzący ma chęć budowania tego jako projekt VS, to niech samodzielnie stworzy taki i zbuduje.

A co do zasady, to łączę się w bólu. Swego czasu wywalałem masę ładnych feature z projektu na zaliczenie, ponieważ prowadzący akceptował właśnie kompilację tylko w Visual Studio i jeszcze były to czasy gdy wsparcie dla C++11 było bardzo, bardzo ograniczone.
  • Odpowiedz
#programowanie #gcc #cpp #jezykc

Czy da się zmienić linker używany przez gcc bez praw roota? Chciałbym użyć lld od LLVM, niestety z tego co czytam w internetach nie da się tego zrobić inaczej niż przez symlink do /usr/bin/ld.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Da radę na współczesnych unixowych terminalach przechwytywać backspace poprzez getchar()? Jest zadanko w K&R w którym trzeba zamienić wpisanego taba na dosłowne "\t", backslash na dosłowne "\" oraz backspace na dosłowne "\b".

Dla taba i backslasha mi działa normalnie kod, ale dla backspace nie. I zastanawiam się, czy takie zadanie da się teraz w ogóle zrobić.
#programowanie #gcc #linux
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Saly: zrobiłem plik .hex gdzie dałem '08 08 08 0A', przerobiłem to przy użyciu xxd na plik binarny i wrzuciłem tak jak napisałeś na wejście do mojego programu.

W ten sposób zadziałało, wypisało mi dosłownie "\b\b\b" na wyjściu. Czyli program mam poprawny i w sumie tyle chciałem wiedzieć. Dzięki za pomysł :)

Bo faktycznie z tego co czytam na internecie to się obecnie nie da tego tak zrobić tak jak
  • Odpowiedz
Murki pomocy. Chcę skompilować Magick++ pod gcc. Problem w tym, że nie mam pojęcia jak. Mam 5 folderów z plikami cpp i h i muszę je skompilować. Podpowie ktoś jak?
Foldery z kodem to:
Magick++/lib
Magick++/lib/Magick++
MagickWand
PerlMagick
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bambosze_babuni: Oczywiście, patrz podlinkowany wyżej manual gcc. Jeśli dorzucę =, to wyrzuca "implicit declaration of function 'asm'" Co z reszta jest zgodne z prawda, bo wygląda to wtedy jak wywołanie f-cji asm, a nie o to chodzi. Tym bardziej, że on wyrzuca "oczekiwałem 'asm' a tam jest 'asm'" i mam takie trochę wtf.
  • Odpowiedz
@Saly: @GotoFinal: Doszedłem do tego o co chodzi, chciałem odpisać, że "tez nie działa, ale może gcc ma jakiś magiczny wyłącznik asm" i wtedy mnie tknęło, mam ustawiony -std=c11 ... no właśnie, po zmianie na domyślny poszło poprawnie. Tylko teraz mam nagle milion ostrzeżeń w innych częściach kodu. No ale, najwyraźniej w nowym C nie ma "asm", szkoda tylko, że ten komunikat jest taaaki pomocny, jak to w
  • Odpowiedz
Powiedzcie mi czy dobrze rozumiem (i to czego zrozumieć nie potrafię).
Mam taki kod pastebin. Jest to plik startowy wygenerowany przez IDE Atmel Studio 7.0.

/* Initialize segments */
Domyślam się, że gdzieś skądś linker wie co to za symbole i wie co jakie mają wartości (w zasadzie to on im je nadaje), żeby umieścić odpowiednie fragmenty kodu w odpowiednich fragmentach pamięci procesora. Tak?
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp #c++ #gcc #programowanie

Mireczki mam dziwny problem z kompilacją pewnego projektu w C++. Muszę ustawić pewne macro które w kodzie sprawdzanie jest #ifdef'em z poziomu kompilatora. Kompiluje przy użyciu MinGW na windowsie (g++).

Problem w tym, że w Code::Blocks dodaje do listy "defines" wpis
FW_GRAPHICS, podczasu budowania widzę,
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ohayo!
Odpaliłem profiler (gproof), który pokazuje mi bardzo wysokie użycie jednej funkcji (zapewne coś z std tego używa, a nie mogę dowiedzieć się co właściwie).
Jak mogę dowiedzieć się, dlaczego mój program wykorzystuje tę funkcję i dlaczego tyle czasu ona pożera?

http://pastebin.com/cSsqSVvk

#cpp #gcc #gproof #programowanie #pytaniedoeksperta
PsichiX - Ohayo!
Odpaliłem profiler (gproof), który pokazuje mi bardzo wysokie użyci...

źródło: comment_oAcsVsoqDxLzIiIcGSBxUCHlzWQxe8Th.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#avr #arduino #atmel #gcc #assembler
Możecie mi powiedzieć czemu jak oglądam plik asm jakiegoś programu napisanego na avr'a to kompilator nie używa rejestrów z zakresu r2-r13? I po co ciągle używa r0 i r1 do trzymania tam zera i odkładania go na stos i do zdejmowania tego zera ze stosu? Zupełnie nie rozumiem.
Dlaczego wchodząc do przerwania jest cała kombinacja typu:
push r1
push
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ohayo!
Budując na linuxie pluginowy runtime Kaiju natrafiłem na problem. Statyczna biblioteka runtime'owa potrafi ładować, odładować i wywołać funkcjonalność pluginowej biblioteki .so.
Problem jest z poprawnym zbudowaniem biblioteki .so:

gdy kompiluję .so z opcją -fPIC, to gcc karze mi skompilować z flagą -fPIC także libKaijuRuntime.a (której funkcjonalności to .so używa) - czy w takim razie muszę wszelkie libki używane przez .so przekompilować z flagą -fPIC?
Jeśli już przekompiluję libKaijuRuntime.a z flagą -fPIC, to kompilacja .so przechodzi,
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pomoże mi ktoś szybko z C? Chcę mieć dużą wartość w zmiennej, używam unsigned long long int myVar = 10*1000*1000000. Kompilator daje warning: integer overflow in expression #programowanie #gcc #cpp
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach