Публикации по теме 'gcc'
Первые шаги в программировании на C (GNU Linux)
Предыдущие знания , в качестве совета рекомендую ознакомиться с информацией о c (язык программирования) , компилятор , GCC (GNU Compiler Collection) , Текстовые редакторы Linux . (vi, vim, emacs, atom и т. д.)», оболочка Linux , Bash , ассемблер .
Давайте напишем нашу первую программу на C, для этого воспользуемся текстовым редактором Linux (vi, emacs, atom и т. д.), напишем следующий код и сохраним его как hello.c :
После того, как вы это сделаете, можно начать..
RELRO: RELocation только для чтения
Эта статья была первоначально размещена на blog.isis.poly.edu 2 июня 2011 г. .
В этой статье описываются разделы перемещения ELF, как использовать их для выполнения произвольного кода и как защитить их во время выполнения.
Разделы переезда в формате ELF
Динамически связанный двоичный файл ELF использует поисковую таблицу, называемую глобальной таблицей смещения (GOT), для динамического разрешения функций, которые находятся в разделяемых библиотеках.
Когда вы вызываете функцию,..
Атрибуты C ++
В C ++ 11 атрибуты были добавлены как способ к стандартизированным функциям, таким как gnu __attribute__ и msvc's __declspec .
Предоставление языка для стандартных атрибутов, а также нестандартных атрибутов посредством использования пространств имен, хотя поведение нестандартных атрибутов было урегулировано только для C ++ 17. И, к сожалению, по состоянию на 2018 год ни GCC, ни MSVC не предлагают атрибуты, зависящие от поставщика, хотя переносимый стандартный синтаксис C ++...
Процесс компиляции для языка программирования C
Языки компьютерного программирования — это мощный инструмент, созданный с целью написания инструкций для компьютера с использованием различных кодовых слов. Этот код облегчил создание некоторых удивительных программ, которые теперь стали частью нашей повседневной жизни. Но как они работают? Во-первых, полезно понимать две основные категории компьютерных языков.
Языки низкого уровня против языков высокого уровня
Языки программирования обычно можно отнести к одному из двух типов...
Как работает процесс компиляции программ на C
C - это компилируемый язык. Его исходный код пишется с помощью любого редактора по выбору программиста в виде текстового файла, а затем он должен быть скомпилирован в машинный код.
Исходные файлы C по соглашению называются с расширением .c , и мы используем команду «gcc» для компиляции исходных файлов C. (GCC - это аббревиатура от GNU Compiler Collection, и это система компиляции, созданная проектом GNU.)
Четыре этапа компиляции: предварительная обработка, компиляция, сборка,..
Вопросы по теме 'gcc'
Как BSWAP нижнего 32-битного 64-битного регистра?
Я искал ответ о том, как использовать BSWAP для нижнего 32-битного подрегистра 64-битного регистра. Например, 0x0123456789abcdef находится внутри регистра RAX, и я хочу изменить его на 0x01234567efcdab89 с помощью одной инструкции (из-за...
5168 просмотров
schedule
15.05.2024
Собирается ли Objective-C в Linux мусор?
В Objective-C v2.0 (который использует Mac) появилась новая функция «Сборка мусора». Я ребенок на ПК с Linux (Ubuntu, если вам интересно). Итак, мой вопрос: использование компилятора gcc/g++ - это сбор мусора Objective-C?
970 просмотров
schedule
14.01.2024
Исправлена ошибка с четырьмя nops в if (0), world больше не имеет смысла
Я писал функцию, чтобы выяснить, есть ли у данной системы линейных неравенств решение, как вдруг она начала давать неправильные ответы после, казалось бы, безобидного изменения.
Я отменил некоторые изменения, переделал их, а затем продолжил...
730 просмотров
schedule
21.12.2023
«сравнение всегда верно из-за предупреждения об ограниченном диапазоне типов данных» в C?
У меня есть следующий код
//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)
{...
26628 просмотров
schedule
13.01.2024
Добавление ведущих символов подчеркивания к символам сборки с помощью GCC на Win32?
У меня есть фрагмент кода C, который вызывает функцию, определенную в ассемблере. В качестве примера предположим, что foo.c содержит:
int bar(int x); /* returns 2x */
int main(int argc, char *argv[]) { return bar(7); }
И bar.s содержит...
22284 просмотров
schedule
26.07.2022
Компиляция файлов makefile C/C++ под Windows (XP)
Я пытаюсь использовать библиотеку Python (pyMedia), в которой есть некоторые необходимые библиотеки, отличные от Python. (libogg, libvorbis, liblame и libfaad2 - это не относится к конкретному вопросу).
libogg требует, чтобы вы вручную...
6403 просмотров
schedule
06.11.2023
Как увеличить размер исполняемого стека gcc?
У меня есть большая метапрограмма Boost/Spirit, которая сбрасывает стек gcc, когда я пытаюсь ее скомпилировать.
Как я могу увеличить размер стека gcc, чтобы я мог скомпилировать эту программу?
Примечание: бесконечной рекурсии не происходит, но...
16192 просмотров
schedule
16.03.2024
Имеет ли значение порядок строк ссылок для supc++?
Это продолжение предыдущего вопроса -
Как использовать другой STL с g++
Теперь я могу получить свой код для сборки, используя другой STL. Однако мне все еще нужно связать -lsupc++ (вместе с указанным другим STL)
Я вижу анекдотические...
1488 просмотров
schedule
31.07.2022
Создание универсальных двоичных файлов на Mac — форсирование одного дочернего процесса компилятора
Ваше здоровье,
в компании мы создаем порт наших игр, и нам нужно скомпилировать PythonOgre , оболочку Ogre3d для Python. Это огромный кусок кода, особенно сгенерированный код оболочки. У нас есть Mac Mini с 1 ГБ оперативной памяти.
Мы...
357 просмотров
schedule
19.10.2023
Глобально использовать malloc Google?
Я хотел бы поэкспериментировать с tcmalloc от Google в Linux... У меня здесь огромный проект с сотнями файлов Makefile, сгенерированных qmake... Я хотел бы найти способ заставить gcc глобально связываться с tcmalloc (как это делает с libc)......
1831 просмотров
schedule
20.11.2023
Зарезервированные ключевые слова в Objective-C?
На вчерашней встрече CocoaHeads в Оресунде Пейлоу создал отличную викторину по ObjC. Конкуренция была интенсивной, и три человека остались с одинаковыми баллами, когда нужно было оценить последний вопрос: сколько зарезервированных ключевых слов...
11158 просмотров
schedule
12.10.2022
неявное объявление getopt в Solaris?
В Solaris gcc дает мне
неявное объявление функции `getopt'
при компиляции
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
getopt(1,argv,"");
return 0;
}
справочная страница для...
4951 просмотров
schedule
26.03.2024
gcc: предупреждение: большое целое неявно усекается до беззнакового типа
#include<stdio.h>
int main()
{
unsigned char c;
c = 300;
printf("%d",c);
return 0;
}
Является ли вывод каким-либо образом предсказуемым или неопределенным?
28987 просмотров
schedule
29.11.2023
ada95 имеет 3 файла .ali, .adb и .o - могу ли я скомпилировать
Я нашел старую работу из колледжа с моим последним проектом Ada95. К сожалению, диск был поврежден, и мне удалось восстановить только 3 файла (исходник и исполняемый файл восстановить не удалось):
проект.adb, проект.али и проект.о
Этих 3 файлов...
530 просмотров
schedule
18.09.2022
Открытие fstream с файлом с именем файла Unicode под Windows с использованием компилятора, отличного от MSVC
Мне нужно открыть файл как std::fstream (или фактически любой другой std::ostream), когда имя файла является именем файла «Unicode».
Под MSVC у меня нестандартное расширение std::fstream::open(wchar_t const *,...) ? Что я могу сделать с другими...
9492 просмотров
schedule
10.03.2024
Нужно ли включать #include ‹omp.h› в мои исходники C/C++?
Нужно ли включать omp.h в мои исходники C/C++? Почему? Или почему нет? Компилятор gcc включает его по умолчанию при использовании с флагом -fopenmp? Кажется, это не имеет значения.
18299 просмотров
schedule
16.05.2024
GCC экспортирует оформленное имя функции только из dll
У меня есть dll, она экспортирует функцию ...
extern "C"
int __stdcall
MP_GetFactory( gmpi::IMpUnknown** returnInterface )
{
}
Я компилирую это с помощью компилятора Code :: Blocks GCC (V3.4.5). Проблема: полученная dll экспортирует...
2045 просмотров
schedule
15.04.2024
Как objdump может отображать исходный код с опцией -S?
Есть ли ссылка на исходный файл в бинарнике? Я попытался запустить строки в двоичном файле и не смог найти ссылку на указанный исходный файл...
49252 просмотров
schedule
07.11.2022
Компиляция без libc
Я хочу скомпилировать свой C-код без (g)libc. Как его отключить и какие функции от него зависят?
Я попробовал -nostdlib, но это не помогает: код компилируется и работает, но я все еще могу найти имя libc в шестнадцатеричном дампе моего...
42458 просмотров
schedule
11.03.2024
размер пакета libpcap
Я работаю с libpcap на C в Linux (centos) и следую этому руководство Я хочу просто распечатать весь пакет в ASCII, и мне удалось заставить его работать, приведя его к u_char* в функции "my_callback". Но я не могу понять, как получить длину данных....
3576 просмотров
schedule
16.11.2023