javascript

java

python

c#

node.js

android

reactjs

c++

php

jquery

html

css

git

ruby-on-rails

.net

ios

sql

c

string

ruby

c-如何在Linux pthreads中设置线程的名称?

有什么办法可以在Linux中设置线程的名称?

我的主要目的是在调试时会有所帮助,并且如果该名称通过例如 /proc/$PID/task/$TID/...

trans by 2019-10-16T01:54:04Z

c-清除一个小的整数数组:memset vs. for循环

有两种方法将整数/浮点数组归零:

memset(array, 0, sizeof(int)*arraysize);

要么:

for (int i=0; i <arraysize; ++i)
    array[i]=0;

显然,对于大型arraysize,memset更快。但是,在什么时候,memset的开销实际上大于for循环的开销? 例如,对于大小为5的数组-哪个最好? 第一个,第二个甚至是展开的版本:

array[0] = 0;
array[1] = 0;
array[2] = 0;
array[3] = 0;
array[4] = 0;
trans by 2019-10-16T00:42:08Z

c ++-1D或2D数组,更快些?

我需要表示一个2D字段(轴x,y),并且遇到一个问题:我应该使用一维数组还是二维数组?

我可以想象,重新计算1D数组(y + x * n)的索引可能比使用2D数组(x,y)慢,但是我可以想象1D可能在CPU缓存中。

我做了一些谷歌搜索,但只找到了有关静态数组的页面(并指出1D和2D基本相同)。 但是我的数组必须动态。

有啥

  1. 快点,
  2. 较小(RAM)

动态一维数组还是动态二维数组?

谢谢 :)

trans by 2019-10-15T20:33:23Z

C中不区分大小写的字符串comp

我有两个要比较的邮政编码char*,忽略大小写。有功能可以做到这一点吗?

还是我必须遍历每个使用tolower函数,然后进行比较?

任何想法,此函数将如何对字符串中的数字做出反应

谢谢

trans by 2019-10-15T18:56:58Z

时间是什么时候uint8_t≠unsigned char?

根据C和C ++,CHAR_BIT >= 8
但是无论何时uint8_tunsigned char甚至都不能表示为8位。
它必须更大,因为CHAR_BIT是系统上任何数据类型的最小位数。

uint8_t上可以合法定义为哪种类型的系统,而不是unsigned char

(如果C和C ++的答案不同,那么我想两者都知道。)

trans by 2019-10-15T13:53:21Z

c-为什么启用优化功能后,此代码的速度慢6.5倍?

由于某种原因,我想对glibcstrlen函数进行基准测试,发现在GCC中启用优化后,它的执行速度显然要慢得多,我也不知道为什么。

这是我的代码:

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

int main() {
    char *s = calloc(1 << 20, 1);
    memset(s, 65, 1000000);
    clock_t start = clock();
    for (int i = 0; i < 128; ++i) {
        s[strlen(s)] = 'A';
    }
    clock_t end = clock();
    printf("%lld\n", (long long)(end-start));
    return 0;
}

在我的机器上,它输出:

$ gcc test.c && ./a.out
13336
$ gcc -O1 test.c && ./a.out
199004
$ gcc -O2 test.c && ./a.out
83415
$ gcc -O3 test.c && ./a.out
83415

以某种方式,启用优化会使其执行时间更长。

trans by 2019-10-15T02:52:10Z

在Linux中获取主目录

我需要一种在Linux上运行的C ++程序中获取用户主目录的方法。 如果相同的代码可以在Unix上运行,那就太好了。 我不想使用HOME环境值。

AFAIK,根主目录是/ root。 如果我的程序是由root用户运行的,可以在该目录中创建一些文件/文件夹吗?

trans by 2019-10-15T01:58:16Z

c-在哪里可以找到off_t类型的完整定义?

我正在使用TCP从客户端向服务器发送文件。 为了标记文件的结尾,我想在实际数据之前发送文件大小。 所以我用stat系统调用来查找文件的大小。 这是类型off_t。我想知道它占用多少字节,以便可以在服务器端正确读取它。 它在<sys/types.h>中定义。但是我不理解该定义。 它只是将__off_t or _off64_t定义为off_t。在哪里可以找到__off_t? 惯例是,头文件中的大多数内容都以__为前缀,当我阅读头文件以更好地理解它时,这使我感到恐惧。 如何更好地读取头文件?

#ifndef __off_t_defined
# ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
# else
typedef __off64_t off_t;
# endif
# define __off_t_defined
#endif 
trans by 2019-10-14T08:39:53Z

从J调用c函数

如何从Java调用c函数。似乎c是基于编译器的。

我想从Java在Windows中调用C函数,并且Java的GCC功能也是如此。

有参考吗?

trans by 2019-10-14T08:14:43Z

隐藏C结构中的成员

我一直在阅读有关C语言中的OOP的知识,但我从未喜欢过像C ++中那样无法拥有私有数据成员。 但是后来我想到可以创建2个结构。 一个在头文件中定义,另一个在源文件中定义。

// =========================================
// in somestruct.h
typedef struct {
  int _public_member;
} SomeStruct;

// =========================================
// in somestruct.c

#include "somestruct.h"

typedef struct {
  int _public_member;
  int _private_member;
} SomeStructSource;

SomeStruct *SomeStruct_Create()
{
  SomeStructSource *p = (SomeStructSource *)malloc(sizeof(SomeStructSource));
  p->_private_member = 42;
  return (SomeStruct *)p;
}

在这里,您可以将一个结构转换为另一个结构。这被认为是不良做法吗? 还是经常做?

trans by 2019-10-14T06:40:30Z

c-什么是扩展名为.a的文件?

我下载了这个:[https://github.com/mongodb/mongo-c-driver]

现在,我试图在我的C程序中使用它,但是我不知道如何处理生成的.a文件。 这些是什么? 我找不到任何信息,甚至在GCC手册中也找不到。

我这样构建它:

  scons --c99

另外,我可以在C89程序中使用C99库吗?

trans by 2019-10-14T05:35:43Z

c-扫描的缺点

我想知道scanf的缺点。

在许多站点中,我读到使用scanf可能会导致缓冲区溢出。 这是什么原因呢? scanf还有其他缺点吗?

trans by 2019-10-14T04:19:35Z

c-为什么补码在printf中表现出不同?

我正在阅读有关按位运算符的章节,遇到了1的补数运算符程序,并决定在Visual C ++上运行它。

int main ()
{
   unsigned char c = 4, d;
   d = ~c;
   printf("%d\n", d);
}

它给出有效的输出:-5

然后,我决定直接打印~c的值,而不是使用-5作为变量来保存~c的值。

int main ()
{
   unsigned char c=4;
   printf("%d\n", ~c);
}

输出为-5

为什么不起作用?

trans by 2019-10-13T22:06:58Z

我可以在同一个Xcode项目中拥有Swift,Objective-C,C和C ++文件吗?

可以在同一项目中完全使用所有4种语言吗?

风格中也有类似的问题:我可以将Swift与C ++混合使用吗? 类似于Objective-C .mm文件,对于该文件,可接受的答案为否。

充分使用Bridging Header,不包含.h.h语句,Objective-C包装程序(当.h确实包含C++.mm文件来实际包装C++类和.swift文件时),则可以将这4种语言包括在内(5)107 单个可执行文件?


Objective-C ++ X代码

trans by 2019-10-13T21:45:38Z

c-为什么stdlib.h中没有strtoi?

我已经习惯了strtod和变体。我想知道为什么stdlib.h没有附带strtoi。为什么将整数排除在此方之外?

我特别要问的是,为什么没有带strtod安全功能的atoi版本。

trans by 2019-10-13T20:36:21Z

c-使用无符号索引进行反向“ for”循环的最佳方法是什么?

我第一次做反向n次循环的尝试是n次:

for ( unsigned int i = n-1; i >= 0; i-- ) {
    ...     
}

之所以失败,是因为在无符号算术中i被确保始终大于或等于零,因此循环条件将始终为true。 幸运的是,在我不得不怀疑循环为什么无限执行之前,gcc编译器警告我“无意义的比较”。


考虑到以下几点,我正在寻找一种解决此问题的优雅方法:

  1. 它应该是for循环的倒退。
  2. 循环索引应该是无符号的。
  3. n是无符号常量。
  4. 它不应基于无符号整数的“晦涩”环算术。

有任何想法吗? 谢谢 :)

trans by 2019-10-13T19:50:10Z

Arduino使用C还是C ++?

源自Python,整个C / C ++都是以异类开始的……然后我在一个地方看到Arduino使用“标准” C,而在另一个地方则看到它使用“标准” C ++,依此类推。 向前。 哪有 我对这两者之间的区别的粗浅理解是,C ++(大致)是带有类/对象的C。 我应该集中精力学习主要用于Arduino的语言或方言(C或C ++)的方式如何?

trans by 2019-10-13T17:32:06Z

可以编译为C / C ++源代码的编程语言?

我正在使用CoffeeScript来简化JavaScript开发。 这是一种语言,具有干净的语法,可以编译为JavaScript。

那么,可以使用哪些已建立的编程语言来编译为C / C ++源代码,以简化语法和/或增强功能?

trans by 2019-10-13T17:23:41Z

如何在C中使用动态多维数组?

有人知道如何使用C使用动态分配的多维数组吗? 那可能吗?

trans by 2019-10-13T13:20:37Z

CMake无法使用C ++确定链接器语言

我试图同时在Windows 7 x64和Visual Studio 2010和Cygwin上运行cmake hello world程序,但似乎都无法正常工作。 我的目录结构如下:

HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/

我先执行src/CMakeLists.txt,然后执行cmake ..,并收到一条错误消息,指出

CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".

但是,如果在我的filsystem和src/CMakeLists.txt上都将main.cpp的扩展名更改为main.c,则一切正常。 从Visual Studio命令提示符(Visual Studio解决方案生成器)和Cygwin终端(Unix Makefiles生成器)运行都是这种情况。

知道为什么这段代码行不通吗?

CMakeLists.txt

PROJECT(HelloWorld C)
cmake_minimum_required(VERSION 2.8)

# include the cmake modules directory
set(CMAKE_MODULE_PATH ${HelloWorld_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})

add_subdirectory(src)

src / CMakeLists.txt

# Include the directory itself as a path to include directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# Create a variable called helloworld_SOURCES containing all .cpp files:
set(HelloWorld_SOURCES main.cpp)

# Create an executable file called helloworld from sources:
add_executable(hello ${HelloWorld_SOURCES })

src / main.cpp

int main()
{
  return 0;
}
trans by 2019-10-13T09:15:17Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共67页