gcc- все статьи тега ➜ страница 2


предупреждение: несовместимые неявное объявление встроенная функция ‘АБВ’

Я получаю ряд этих предупреждений при компиляции нескольких двоичных файлов: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ чтобы попытаться решить эту проблему, я добавил #include <stdlib.h> в верхней части файлов C, связанных с этим предупреждением, в дополнение к компиляции со следующими флагами: CFLAGS = -fno-bu ...

Полезные флаги GCC для C

за задание -Wall, а параметр -std=XXX, что другие действительно полезные, но менее известные флаги компилятора для использования в C? меня особенно интересуют любые дополнительные предупреждения и / или превращение предупреждений в ошибки в некоторых случаях, чтобы полностью свести к минимуму любые случайные несоответствия типов. ...

Как включить (буквально) все предупреждения GCC?

Я хотел бы включить -- буквально -- все из предупреждений, которые есть у GCC. (Вы думаете, что это будет легко...) думаешь -Wall может сделать трюк, но нет! Еще нужно -Wextra. думаешь -Wextra может сделать трюк, но нет! Не все из перечисленных предупреждений здесь (например, -Wshadow) включены этим. И я до сих пор не знаю, если этот список всесторонний. как я могу сказать GCC включить (нет, если, и, или но!)все предупреждения у него есть? ...

декларация функции не является прототипом

у меня есть библиотека, которую я создал, mylib.c: #include <mylib.h> int testlib() { printf("Hello worldn"); return (0); } mylib.h: #include <stdio.h> extern int testlib(); в моей программе я попытался вызвать эту библиотечную функцию: myprogram.c: #include <mylib.h> int main (int argc, char *argv[]) { testlib(); return (0); } когда я пытаюсь скомпилировать эту программу, я получаю следующую ошибку: In file included from myprogram.c:1 mylib.h:2 wa ...

Как вы используете gcc для создания ассемблерного кода в синтаксисе Intel?

на gcc -S опция будет генерировать ассемблерный код в синтаксисе AT&T, есть ли способ генерировать файлы в синтаксисе Intel? Или есть способ конвертировать между ними? ...

/usr / lib / libstdc++. so. 6: версия 'GLIBCXX 3.4.15' не найдена

Как я могу получить GLIBCXX_3.4.15 в Ubuntu? Я не могу запустить некоторые программы, которые я составляю. когда я делаю: strings /usr/lib/libstdc++.so.6 | grep GLIBC Я: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH Спасибо ...

Почему переполнение целого числа на x86 с GCC вызывает бесконечный цикл?

следующий код переходит в бесконечный цикл на GCC: #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i > 0); cout << c << endl; return 0; } так вот: переполнение целого числа со знаком является технически неопределенным поведением. Но GCC на x86 реализует целочисленную арифметику, используя целочисленные инструкции x86, которые оберт ...

Как скомпилировать 32-разрядный двоичный файл на 64-разрядной машине linux с помощью gcc/cmake

можно ли скомпилировать проект в 32-бит С cmake и gcc на 64-бит ...

Что на самом деле делает ffast-math gcc?

Я понимаю gcc --ffast-math флаг может значительно увеличить скорость для float ops и выходит за рамки стандартов IEEE, но я не могу найти информацию о том, что действительно происходит, когда он включен. Может ли кто-нибудь объяснить некоторые детали и, возможно, дать четкий пример того, как что-то изменится, если флаг будет включен или выключен? Я попытался копаться в S. O. для подобных вопросов, но не смог найти ничего, объясняющего работу ffast-math. ...

В чем преимущество встроенных в GCC ожиданий, если еще заявления?

я наткнулся на #define в котором они использовать __builtin_expect. документация говорит: встроенные функции: long __builtin_expect (long exp, long c) вы можете использовать __builtin_expect чтобы предоставить компилятору ветку прогнозная информация. В общем, вы должны предпочесть использовать фактические профиль обратной связи для этого (-fprofile-arcs), как программисты как известно, плохо предсказывает, как их программы На самом деле работают. Тем не менее, есть приложения ...

Будет ли strlen вычисляться несколько раз при использовании в состоянии цикла?

Я не уверен, что следующий код может вызвать избыточные вычисления, или это зависит от компилятора? for (int i = 0; i < strlen(ss); ++i) { // blabla } будет strlen() вычисляется каждый раз, когда i увеличивается? ...

неопределенная ссылка на 'std:: cout'

это пример: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.n"; } Он выдает ошибку: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char co ...

Неопределенная ссылка на `pow ' и 'floor'

Я пытаюсь сделать простой калькулятор Фибоначчи на C, но при компиляции gcc говорит мне, что я пропускаю функции pow и floor. Что случилось? код: #include <stdio.h> #include <math.h> int fibo(int n); int main() { printf("Fib(4) = %d", fibo(4)); return 0; } int fibo(int n) { double phi = 1.61803399; return (int)(floor((float)(pow(phi, n) / sqrt(5)) + .5f)); } выход: gab@testvm:~/work/c/fibo$ gcc fib.c -o fibo /tmp/ccNSjm4q.o: In function `fibo' ...

Как предотвратить оптимизацию gcc некоторых операторов в C?

чтобы сделать страницу грязной (включение грязного бита в записи таблицы страниц), я касаюсь первых байтов страницы следующим образом: pageptr[0] = pageptr[0]; но на практике gcc будет игнорировать заявление о ликвидации мертвого хранилища. Чтобы предотвратить оптимизацию gcc, я переписываю заявление следующим образом: volatile int tmp; tmp = pageptr[0]; pageptr[0] = tmp; кажется, трюк работает, но несколько некрасиво. Я хотел бы знать, есть ли какие-либо директивы или синтаксис, который и ...

MinGW-w64 темы: posix vs win32

Я устанавливаю mingw-w64 на Windows, и есть два варианта: потоки win32 и потоки posix. Я знаю, в чем разница между потоками win32 и pthreads, но я не понимаю, в чем разница между этими двумя вариантами. Я сомневаюсь, что если я выберу потоки posix, это помешает мне вызвать функции WinAPI, такие как CreateThread. кажется, что этот параметр указывает, какой потоковый API будет использоваться какой-либо программой или библиотекой, но чем? По GCC, libstdc++ или что-то еще? Я нашел это: в чем разни ...

Разница между-pthread и-lpthread при компиляции

в чем разница между gcc -pthread и gcc -lpthread который используется при компиляции многопоточных программ? ...

Компилятор gcc C написан на самом C?

компилятор gcc C написан на самом C ? Или это написано в сборке ? Если компилятор написан на C, то какой компилятор используется для компиляции кода компилятор ? ...

Как отключить неиспользуемые предупреждения переменных, выходящие из gcc в стороннем коде, который я не хочу редактировать?

Я хотел бы знать, какой переключатель вы передаете компилятору gcc, чтобы отключить предупреждения о неиспользуемых переменных? Я получаю ошибки из boost на windows, и я не хочу касаться кода boost: C:boost_1_52_0/boost/system/error_code.hpp: At global scope: C:boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but ...

therubyracer-Gem:: Ext:: BuildError: ошибка: не удалось создать собственное расширение gem

я пытаюсь установить следующие версии gem На Mavericks libv8 (3.16.14.3) therubyracer (0.12.1) очевидно, что therubyracer gems зависит от libv8. 1) Установка libv8 что такое libv8? Мой бит исследований, похоже, указывает, что это какая-то библиотека javascript, используемая Google Chrome? у меня возникли проблемы с его установкой, но этот отличный пост имел как мой ошибка и хорошо объясненный ответ о том, как ее обойти. я libv8 С gem install libv8 -- --with-system-v8 я понимаю, что это ...

объедините два скомпилированных GCC.o объектные файлы в третий.o файл

как объединить два скомпилированных GCC .o объектные файлы в третий .o файл? $ gcc -c a.c -o a.o $ gcc -c b.c -o b.o $ ??? a.o b.o -o c.o $ gcc c.o other.o -o executable если у вас есть доступ к исходному файлы -combine флаг GCC объединит исходные файлы перед компиляцией: $ gcc -c -combine a.c b.c -o c.o однако это работает только для исходных файлов, и GCC не принимает .o файлы в качестве входных данных для этой команды. нормально, соединяющей .o файлы не работают должным образом, так ...