小编Del*_*ani的帖子

Mac OS X中的clock_gettime替代方案

在通过MacPorts安装必要的库后编译我在Mac OS X上编写的程序时,我收到此错误:

In function 'nanotime':
error: 'CLOCK_REALTIME' undeclared (first use in this function)
error: (Each undeclared identifier is reported only once
error: for each function it appears in.)
Run Code Online (Sandbox Code Playgroud)

它似乎clock_gettime没有在Mac OS X中实现.是否有另一种方法可以在纳秒内获得纪元时间?不幸的是在几微秒内.gettimeofday

c macos time clock

65
推荐指数
7
解决办法
9万
查看次数

有没有办法检查两个DOM元素是否相等?

在Javascript中按位置和元素的位置找到元素没有问题.但是有比较它们的一般方法吗?

我能想到的唯一方法是比较id或类名,但并非所有元素都有id或类名.

javascript dom

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

没有cookie的PHP会话

有没有办法可以在PHP中启动持久会话而无需放置会话cookie?是否有其他方法可以跨页面维护会话,例如基于IP地址的解决方案?

我问的原因是,虽然大多数用户都有cookie,但我想看看登录系统是否有办法让那些禁用它的人(尽管我认为禁用cookie只是个人的不必要的偏执狂).

php cookies session

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

32位无符号整数的按位运算?

在执行按位运算之前,JavaScript会将操作数转换为32位有符号整数.它还使用32位有符号整数执行操作,这意味着结果是32位有符号整数.

因为我想用32位无符号整数进行按位运算,我想知道是否有办法使用JavaScript的错误结果来找出预期的结果.

为了证明我的想法,例如,在C中,这是我想要的参考,

unsigned int a = 3774191835u;
unsigned int b = a >> 2;
/* b == 943547958 */
Run Code Online (Sandbox Code Playgroud)

在JavaScript中,

 var a = 3774191835;
 var b = a >> 2;
 /* b == -130193866 */
Run Code Online (Sandbox Code Playgroud)

让我们尝试不同的操作.在C中,

unsigned int a = 1986735448u;
unsigned int b = a << 1;
/* b == 3973470896 */
Run Code Online (Sandbox Code Playgroud)

在JavaScript中,

 var a = 1986735448;
 var b = a << 1;
 /* b == -321496400 */
Run Code Online (Sandbox Code Playgroud)

既然JavaScript已经使用操作数作为带符号的int来评估我的按位运算,那么我们当然会得到与C中的结果不同的结果,我们可以在无符号整数上正确执行按位运算.

我知道这是可能的,但我不确定一种方法,基本上,我可以将JavaScript的结果转换为预期的结果.


零填充右移将结果归零仅适用于第二种情况,但不适用于第一种情况.

 var a = 3774191835;
 var b = …
Run Code Online (Sandbox Code Playgroud)

javascript bit-manipulation

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

C中的源文件和头文件之间有什么根本区别?

我不太明白应该如何在C的源文件和头文件中分离.我经常看到许多项目有两组具有相同名称的文件(没有表示源文件和头文件的扩展名).

到目前为止,由于缺乏理解,当我编写库时,我已将所有类和类方法代码放入一个文件中,并且选择文件扩展名时犹豫不决.

什么应该在标题中以及源文件中应该包含哪些内容?我该如何实现这种分离?

c

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

BMP之外的JavaScript字符串

BMP是基本的多语言平面

根据JavaScript:好的部分:

JavaScript是在16位字符集的时候构建的,因此JavaScript中的所有字符都是16位宽.

这让我相信JavaScript使用UCS-2(不是UTF-16!)并且只能处理U + FFFF以前的字符.

进一步调查证实了这一点:

> String.fromCharCode(0x20001);
Run Code Online (Sandbox Code Playgroud)

fromCharCode返回Unicode字符时,该方法似乎只使用最低16位.试图获得U + 20001(CJK统一表意文字20001)而不是返回U + 0001.

问题:是否可以在JavaScript中处理后BMP字符?


2011-07-31:来自Unicode支持Shootout的 12个幻灯片:好的,坏的,以及(大部分)Ugly很好地解决了与此相关的问题:

javascript unicode utf-16 surrogate-pairs astral-plane

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

脑卒中翻译的优化

作为一个帮助我学习口译和优化的练习,我都不知道,我用C编写了一个脑筋解释器.到目前为止它看起来完美无缺,尽管与其他快速相比,它在执行速度方面表现不佳口译.

有哪些方法可以改变这个解释器以提高性能(或其他方面)?

我的解释器的一个有趣的方面(虽然大多数其他人也可能这样做)是我运行一个循环,读取源输入并将每个指令转换为

struct { long instruction; long loop; }
Run Code Online (Sandbox Code Playgroud)

loop值是匹配的索引]指令,如果该指令是[,和匹配的索引[指令,如果该指令是],允许快速跳跃.我想这个'解析'过程(不需要很长时间)可以改善执行时间,而不是每次需要时进行冗余重新分析以找到匹配的方括号.

这个程序是一个有趣的测试brainfuck解释器的速度:

++++++++[->-[->-[->-[-]<]<]<]>++++++++[<++++++++++>-]<[>+>+<<-]>-.>-----.>
Run Code Online (Sandbox Code Playgroud)
  1. 解释器的第一个版本
  2. 实现Jerry Coffin的答案之后的解释器,它通过使instructionstruct instruction成为操作函数的直接指针来消除运行时循环中的巨型开关- 这比前一版本运行得慢(函数调用开销?)
  3. 解释后,扭转了以往的变化和增加的优化,以"崩溃"多个连续的非循环操作,减少循环周期- 这将运行比原来稍快

c optimization interpreter brainfuck

32
推荐指数
4
解决办法
4457
查看次数

预期的说明符 - 限定符 - 列表之前

我有这个结构类型定义:

typedef struct {
    char *key;
    long canTag;
    long canSet;
    long allowMultiple;
    confType *next;
} confType;
Run Code Online (Sandbox Code Playgroud)

编译时,gcc会抛出此错误:

conf.c:6: error: expected specifier-qualifier-list before ‘confType’
Run Code Online (Sandbox Code Playgroud)

这是什么意思?它似乎与此错误的其他问题无关.

c

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

MATLAB:如何显示从文件中读取的UTF-8编码文本?

我的问题的主旨是这样的:

如何在Matlab的GUI(OS X)中显示Unicode字符,以便正确呈现它们?

细节:

我有一个存储在文件中的字符串表,其中一些字符串包含UTF-8编码的Unicode字符.我已尝试了许多不同的方法(这里列出太多)以在MATLAB GUI中显示该文件的内容,但没有成功.例如:

>> fid = fopen('/Users/kj/mytable.txt', 'r', 'n', 'UTF-8');
>> [x, x, x, enc] = fopen(fid); enc

enc =

UTF-8

>> tbl = textscan(fid, '%s', 35, 'delimiter', ',');
>> tbl{1}{1}

ans =

ÎÎÎÎÎΠΣΦΩαβγδεζηθικλμνξÏÏÏÏÏÏÏÏÏÏ
>> 
Run Code Online (Sandbox Code Playgroud)

碰巧的是,如果我将字符串直接粘贴到MATLAB GUI中,粘贴的字符串会正确显示,这表明GUI基本上不能显示这些字符,但是一旦MATLAB读入它,它就会更长时间地显示它.例如:

>> pasted = '?????????????????????????????????'

pasted =


>> 
Run Code Online (Sandbox Code Playgroud)

谢谢!

unicode macos matlab user-interface utf-8

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

PHP使用的预定义HTTP错误数组?

我有一个error.php附加的文件ErrorHandler将HTTP错误状态作为GET变量.是否有一个我能找到的数组,它有一个状态代码到错误名称和描述的映射,或者我是否必须自己编写一个?

php http

20
推荐指数
2
解决办法
5966
查看次数