c99

    1熱度

    2回答

    我在下面做了下面的代碼來測試系統是否符合C99的IEEE 754.問題是結果隨着不同的優化級別而改變。如果我堅持零級優化,大部分測試都會通過。但如果我將優化級別提高到-O3,那麼大多數測試都會失敗。我試過了-ffloat-store。它沒有改變任何結果。 我已經在Mac OS 10.4.11 PowerPC上使用GCC 5.2.0和Mac OS 10.6.8使用GCC 4.2.1和GCC 4.9.

    1熱度

    2回答

    是否允許使用C99中的靜態數組初始化靜態數組? 例子: static const char * const PATH1 = "/home/usr"; static const char * const PATH2 = "/usr/"; static const char * const PATH3 = "."; static const char *path_list[] = {

    6熱度

    1回答

    考慮下面的代碼: #include <stdio.h> #include <stdlib.h> #include <math.h> #include <complex.h> int main() { complex double aaa = INFINITY + 0*I; printf("%.f + %.f*I\n", creal(aaa), cimag(aaa));

    5熱度

    1回答

    n3639提議通過c99的variable-length-array S的成C++ 14 但latest I've been able to find列表n3639如(至少對於所述第一尺寸。):在C的第一CD 特點++ 14,隨後刪除到一個技術規範 這是否曾經使它成爲一個技術規範,或者它是否失去了手? 原因我的問題是,我發現這段代碼:(使用「-pedantic」標誌時) void f(size_t

    1熱度

    2回答

    爲什麼MATLAB和C版本產生不同的結果? MATLAB: [B_coeffs, A_coeffs ] = butter(4, 100/(16000/2), 'high'); state = zeros(4, 1); input = zeros(64,1); for i=1:64 input(i)=i; end [filtered_output, state] = fil

    1熱度

    1回答

    如果我寫的C99頭是這樣的: static inline void f() { static int x = 0; // Do something with x } 它是保證每個模塊包含這一頭獲取的f()一個單獨的實例和其自身的x實例?

    -1熱度

    1回答

    首先,我看過其他類似的問題,他們不幫助我。我有以下Valgrind的輸出: 我的代碼: int f_gozlemZamaniFarki(long long t1,long long t2) { char *time1 = (char*)calloc(12,sizeof(char)); char *time2 = (char*)calloc(12,sizeof(char));

    4熱度

    1回答

    我試圖靜態分配一些結構,每個結構包含兩個成員:一個指向結構數組的指針,以及該數組的大小。 下面的代碼的工作版本: #define ARRAY_SIZE(x) (sizeof((x))/sizeof((x)[0])) struct conf_element { char *key; enum conf_elem_type val_type; void *val

    -3熱度

    1回答

    這是一個雙重問題。 我一直在閱讀關於編譯器如何處理代碼的錯綜複雜的問題,並且我有這種困惑。這兩個過程似乎都遵循相同的符號整數符號擴展邏輯。那麼轉換是否僅僅作爲算術右移來實現呢? 其中一個例子規定的函數,如 Int Fun1(unsigned word) { Return (int) ((word << 24) >> 24); } 傳遞的參數爲0×87654321。 由於這將在轉換

    1熱度

    1回答

    我有一個「錯誤」,我花了相當長的一段追逐: typedef union { struct { uint8_t mode: 1; uint8_t texture: 4; uint8_t blend_mode: 2; }; uint8_t key; } RenderKey; 後來這個聯盟將被初始化(堆棧): Buffers bu