小编i48*_*486的帖子

没有结构对象的C指针算术

我认为在C中是不可能的,但要求验证这一点.是否可以在没有这种类型的实变量的结构成员之间进行算术运算?例如:

typedef struct _s1
{
  int a;
  int b;
  int c;
} T1;
Run Code Online (Sandbox Code Playgroud)

我希望看到"c"成员与结构开始相比的偏移量.如果我有变量很容易:

T1 str;

int dist = (int)&str.c - (int)&str;
Run Code Online (Sandbox Code Playgroud)

但是我的结构太大了,它在RAM中没有成员(仅在EEPROM中).我想做一些地址计算,但不想定义RAM成员.我可以使用结构指针而不是结构变量(它只需要4个字节)来完成工作,但这个案例对我来说很有趣.

c c++ math pointers

36
推荐指数
6
解决办法
4270
查看次数

XPS文档中的评论

我想在XPS文档中添加注释.是否可以使用.Net API并将其读回?我需要添加嵌入在XPS文件中的隐藏文本.

wpf xps

4
推荐指数
1
解决办法
109
查看次数

推荐Attiny85编译器/ IDE

我需要为Attiny85编译C项目,但不确定使用哪个编译器 - 如果可能的话免费.Atmel Studio是个不错的选择吗?

atmel attiny

3
推荐指数
1
解决办法
3341
查看次数

带有日期时间的C/C++预处理器#if

我想这是不可能的(但是)但不确定.我需要根据当前日期进行条件编译.就像是:

#if (__CURRENT_YEAR < 2016)
...
#endif
Run Code Online (Sandbox Code Playgroud)

我需要在几个月后从项目中排除某些内容,并确保不会忘记这一点(在将来的版本中).

conditional-compilation c-preprocessor

3
推荐指数
1
解决办法
281
查看次数

使用0M而不是0作为十进制值?

是否有必要M为赋值和decimal变量比较添加零值?

decimal val;
...
if (val == 0M)
{
}
Run Code Online (Sandbox Code Playgroud)

要么

if (val == 0)
{
}
Run Code Online (Sandbox Code Playgroud)

我想常量将在编译时转换,结果将是相同的.

c#

3
推荐指数
1
解决办法
1208
查看次数

将volatile int变量定义为extern int

如果将变量定义为volatile int xin file1.cextern int xin file2.c(而不是extern volatile int x),会发生什么?编译器是否有机会知道它x是volatile并且在这里编译file2.c.

c gcc

1
推荐指数
1
解决办法
192
查看次数

fread()参数2和3

有什么区别:

fread( buf, sizeof buf, 1, file ); // 'file' is valid open 'FILE *'
Run Code Online (Sandbox Code Playgroud)

fread( buf, 1, sizeof buf, file );
Run Code Online (Sandbox Code Playgroud)

参数2和3被size_t size, size_t nmemb描述为"fread()读取nmemb数据项,每个字节长度为".我认为读取的最终字节数必须是size * nmemb但由于某种原因,只有第二种语法(大小= 1)对我有效.

c linux stdio

0
推荐指数
1
解决办法
668
查看次数

标签 统计

c ×3

atmel ×1

attiny ×1

c# ×1

c++ ×1

c-preprocessor ×1

conditional-compilation ×1

gcc ×1

linux ×1

math ×1

pointers ×1

stdio ×1

wpf ×1

xps ×1