c-preprocessor

    0熱度

    2回答

    我嘗試使用DEFINE使用方法的問題定義,簡化了寫作和所有參數都確實寫 //... parameter BLEZ = 1001011; parameter BLTZ = 1001100; parameter SRA = 1001101; `define R_type1 ((op == MOVA)||(op == MOVB)||(op == ADD)||(op == SUB)||(op =

    -1熱度

    2回答

    我是新來的,我想要一些幫助。 我的代碼 #define ASDF "548896" 這是否意味着航空自衛隊可以作爲一個數組? ASDF[0 % sizeof(ASDF) ]的輸出是什麼?

    3熱度

    2回答

    我在我的C++程序中使用外部庫。這個庫有一個名爲「Common.h」的fie。不知道這個文件,我也在我的程序中創建了一個「Common.h」。在頭文件中使用編譯器標誌「#pragma once」我可以確保這兩個文件都可以包含在編譯中。但是,我意識到當我在程序中調用我的「Common.h」時,預處理器錯誤地包含了來自外部庫的「Common.h」,這會破壞編譯。有沒有像「命名空間」這樣的選項允許我包含

    3熱度

    1回答

    更大的問題的最小代碼: struct S { int i; }; typedef int (S::*Type); Type foo (int) { return &S::i; } #define FOO(X) *foo(X) int main() { S s; s.*foo(0) = 0; // ok s.FOO(0) = 0; // error <--

    2熱度

    2回答

    刪除命令我上定義一個函數時,有時會使用 static inline void myfunc(...) 一個C庫工作。 現在我嘗試將此端口移植到不支持「靜態內聯」的舊C編譯器。這是密件抄送 - 布魯斯的C編譯器。 我可以在替代 static inline void 與 void 在包括這個頭文件的所有程序 頭文件使用一個命令?

    0熱度

    1回答

    mx_minimum_power.cpp位於以下目錄中的文件: D:\thesis library.Data\ALOS-PALSAR 12x2\San Francisco L 12x2 和14頭文件位於以下目錄: D:\thesis library.Data\ALOS-PALSAR 12x2\San Francisco L 12x2\Eigen\Eigenvalues 所以相對路徑是Eig

    1熱度

    4回答

    我的印象是,#define和#include可以在我們的代碼中的任何地方寫入,只要預處理器在將宏提取到編譯器之前處理宏時不會產生任何語法錯誤。 我跑到下面的代碼: #include <stdio.h> int main(void) { int B = A; #define A 4 printf("%d", B); return 0; } ,併產生以

    -4熱度

    1回答

    文件Base.h class Base { } 文件A.H class A : public Base { } 文件B.h class B : public Base { } 文件C.h #define D_CLASS A 文件C.cpp #include "c.h" #include D_CLASS##.h // <--- how to make the header

    0熱度

    2回答

    我想用預處理指令動態生成函數名(添加一個可選的前綴)。 生成工作,當gcc向預處理器(gcc -E)輸出代碼時,gcc告訴我該函數有正確的名稱。 但是,當我在代碼中使用這個函數,gcc會拋出一個錯誤與無法解析的外部符號? (Link2019/Link1120) 我不是100%確定鏈接程序是如何工作的,但理論上gcc應該運行預處理程序,構建所有庫(更確切地說是第一個原型和主定義之後),所以應該有沒問

    6熱度

    1回答

    的問題是指臂-NONE-EABI-G ++ 6.2和鏈接針對newlib納米。 當我一個進行預處理C-源與-specs=nano.specs,從目錄newlib-nano文件newlib.h包括: echo '#include <string.h>' |\ /opt/gcc-arm-none-eabi-6_2-2016q4/bin/arm-none-eabi-gcc -specs=nano.sp