相关疑难解决方法(0)

restrict关键字在C++中的含义是什么?

我总是不确定,在C++中,restrict关键字是什么意思?

是否意味着赋予函数的两个或更多指针不重叠?还有什么意思?

c++ restrict-qualifier

179
推荐指数
5
解决办法
10万
查看次数

使用C中的WinRT?

看着// BUILD的东西,我看到C代码可以使用WinRT API:

在此输入图像描述

我对Win32开发人员可用的新C API感到非常兴奋.

在哪里可以找到有关C WinRT API的信息?它如何比现有的Win32 C API更好?

c winapi visual-studio windows-runtime

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

MS Visual Studio编译器中提供了哪些C99功能?

这是众所周知,微软的Visual Studio编译器不支持C99,它看起来像他们有没有计划,以支持它.

但是,编译器确实包含一些樱桃挑选的功能,如可变参数宏和long long- 请参阅此答案中的引号:

在我们收到许多关于某些C99功能的请求的地方,我们已经尝试实现它们(或类似物).一对夫妇的例子是复杂的宏,long long,__pragma,__FUNCTION__,和__restrict.如果您在工作中发现其他C99功能,请告诉我们!我们没有从C用户那里听到太多,所以大声说出来并让自己听到

- Arjun Bijanki,微软在ISO C标准委员会的代表 http://blogs.msdn.com/b/vcblog/archive/2007/11/05/iso-c-standard-update.aspx

此外,较新版本的Visual Studio似乎附带了C99所需的一些标头.

关于特定功能有很多问题 - 但我不知道的是:在哪里可以找到当前MSVC编译器支持/提供的C99功能列表?

我正在为gcc寻找像这样的列表.

c compiler-construction c99 visual-studio

35
推荐指数
2
解决办法
1万
查看次数

为什么要使用GLib功能?

虽然编程C和GTK +,为什么会"更好"来使用g_strdup_printf,g_free,g_strcmp0等...和同事glib函数?

c gtk glib

29
推荐指数
3
解决办法
2万
查看次数

C++ 0x标准中export关键字的最佳解释是什么?

我知道在最初的C++ 0x标准中有一个叫做的功能export.

但是我找不到这个功能的描述或解释.该怎么办?另外:哪个编译器支持它?

c++

23
推荐指数
5
解决办法
3万
查看次数

为什么结构不能直接分配?

假设我有一个带有标记的完全定义的结构MyStruct,并假设它x, y, ..., z是其字段的允许值.为什么是

struct MyStruct q = {x,y,..,z};
Run Code Online (Sandbox Code Playgroud)

允许,但是

struct MyStruct q;
q = {x,y,...,z};
Run Code Online (Sandbox Code Playgroud)

不被允许?我觉得这很烦人.在我之前声明的第二种情况中q,我需要逐个为每个字段分配一个值:

q.X = x; q.Y = y; ... q.Z = z;
Run Code Online (Sandbox Code Playgroud)

在哪里X, Y, ..., Z的领域MyStruct.这背后有原因吗?

c structure

22
推荐指数
2
解决办法
5244
查看次数

我应该使用ANSI C(C89)吗?

这是2012年.我在用C编写一些代码.我还在使用C89吗?还有编译器不支持C99吗?

我不介意用/* */而不是//.

我不确定C89 forbids mixing declarations and code.我倾向于认为在一个地方拥有所有声明实际上更具可读性,如果不是,则该功能太长.

VLA看起来很有用,但我还没有需要它们.

如果我没有令人信服的理由,我应该坚持使用C89吗?还有其他我没有考虑过的事情吗?

c c99 c89 ansi-c

16
推荐指数
4
解决办法
6902
查看次数

如何告诉Visual Studio/Microsoft的C编译器在第一个语句之后允许变量声明?

我有编译GNUARM编译器的代码,但Visual Studio 2010发出错误.该问题涉及在C语言文件中的第一个语句之后声明变量:

main.c中

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int i = 6;
  i = i + 1;
  printf("Value of i is: %d\n", i);
  int j = i * 10; // <-- This is what Visual Studio 2010 complains about.
  printf("Value of j is: %d\n", j);
  return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

以下代码编译时没有错误:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int i = 6;
  int j;      // <-- Declaration is now here, valid according to K&R rules.
  i = i + …
Run Code Online (Sandbox Code Playgroud)

c visual-studio-2010 variable-declaration

15
推荐指数
2
解决办法
9414
查看次数

Microsoft Visual Studio 2010是否支持c99?

我想知道Microsoft Visual Studio 2010是否支持C99.如果没有,我怎么能使用像intptr_t和的标准类型uintptr_t

c c99 visual-studio-2010 visual-studio

13
推荐指数
2
解决办法
2万
查看次数

错误4错误C3861:'snprintf':找不到标识符

我正在通过visual studio 2008在win 7上运行一个程序

我收到此错误:

错误4错误C3861:'snprintf':找不到标识符

我已经包含了stdio标题...

我不知道还有什么可以遗漏

c++ printf visual-studio-2008 visual-c++

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