小编Jos*_*phH的帖子

对于在Unix和Windows上都能运行的C中的64位整数(uint64_t),atoi是等效的吗?

我正在尝试将64位整数字符串转换为整数,但我不知道使用哪一个.

c c++ atoi

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

如何使用自定义汇编程序进行clang?

我已编译clang将其用作ARM的交叉编译器(通过配置它./configure --target=armv7l-unknown-linux-gnueabihf),但是当我尝试编译任何C代码时,它会尝试使用它/usr/bin/as.我已经为ARM编译了binutils,它们位于一个单独的目录中.如何指示clang(或llvm)使用我指定的汇编程序?

c clang cross-compiling

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

为C++ Variant Class灵活地在string,int,double之间进行转换

我正在实现一个变体类(不使用boost),我想知道如何处理你存储任何字符串,整数或双精度的情况,并通过ToString()自动将其转换为所需的类型, ToInt()或ToDouble().

例如,

Variant a = 7;
cout << "The answer is" + a.ToString() << endl; // should print "The answer is 7"
a = "7.4";
double &b = a.ToDouble();
b += 1;
cout << a.ToString() << endl; // should print 8.4
Run Code Online (Sandbox Code Playgroud)

ToXXX函数应返回要转换为的类型的引用.现在,我有一个代码,它可以返回与最初分配给(Variant a = Int(7); a.ToInt()工作)相同的类型,并在分配的类型与您要转换的类型不同时引发异常.

抱歉,使用boost不是一种选择.

c++

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

SQL查询 - 同一列上的多个COUNT,具有与嵌套SELECT查询不同的值

我正在努力使用正确的SQL语法来返回一列中特定值的计数.

此查询有效(可能语法不正确,但SQL Server 2008似乎很高兴)

SELECT StudentID, count(UnApproved)as Late, count(Unapproved) as Absent from results
WHERE unapproved=1 and StudentID in 
  (
    SELECT studentid  FROM [Results] 
    WHERE StudentYearLevel='10' and Date > 20130101) group by StudentID
  )
Run Code Online (Sandbox Code Playgroud)

当然,由于'where'的位置,两个LateAbsent列都返回相同的值.

所以这是做(从右边)确定"10年级"成员的学生的ID.

然后,对于返回的每个学生ID,我需要它返回未经批准的缺席类型记录的未批准缺勤计数,并且在下一列中,还返回类型为2的未批准缺勤计数.

如果我尝试像这样提交查询: -

SELECT StudentID, count(UnApproved)as Late where unapproved=2, count(Unapproved) as Absent from results 
where unapproved=1 and StudentID in 
  (
    SELECT studentid  FROM [Results] where StudentYearLevel='10' and Date > 20130101
  )
group by StudentID
Run Code Online (Sandbox Code Playgroud)

SQL Server破解了它,并以红色突出显示整个查询.

我需要最后这三列: -

StudentID | Late …

select nested count sql-server-2008

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

Zip64'中央目录定位器结束'的目的是什么?

Zip64格式中,有一个名为的标头

Zip64中心目录定位器的末尾

包含中央目录记录的zip64末尾的偏移量.当您可以通过其幻数搜索'zip64 end of central directory'记录时,为什么需要此记录

编辑:请注意,查找定位器的唯一方法是查找定位器的幻数.这里的重点是,当你可以直接搜索zip64 end of central directory记录的神奇数字时,为什么还要首先用定位器幻数来搜索定位器呢?

zip file-format

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

KillTimer真的有必要吗?

对于Is KillTimer来说,这似乎是一个重复的问题吗?,但我想用可信的来源证实这一点.

破坏窗口是否真的释放了操作系统为计时器分配的资源?(DestroyWindowsTimers如果这样的功能确实存在,真的会被调用吗?如果是的话,在哪里?)

winapi timer

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

Windows等效的POSIX srandom(...)和random()函数?

我正在尝试将一些代码从UNIX移植到Windows,我需要一个POSIX srandom(x)random()函数的实现,对于给定的种子x,它生成与符合POSIX.1-2001的序列相同的数字序列.Windows上有哪些可用选项?

c windows posix prng

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

什么是在C++中获取当前实例(例如pid)的唯一值的独立于平台的方式

我希望以独立平台的方式获得C++中当前实例的唯一整数值​​的某种类型(无论是进程ID还是其他任何内容)(这意味着没有#if #else宏开关).

基于时间的值不可靠,因为两个实例可以同时启动.

有没有办法实现这个目标?

编辑:它不必是全球唯一的.它只需要是独一无二的系统.

c++ platform-independent

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

如何将类方法的地址转换为(void*)

class Foo{
public:
    void Bar();
}
Run Code Online (Sandbox Code Playgroud)

它不必是安全的,我不关心this指针.我只需要获取位于x86内存中的Bar函数的地址

void *address = (void *)&(Foo::Bar) 不起作用.

void *address = (void *)(&Foo::Bar) 不起作用.

void *address = (void *)Foo::Bar 不起作用.

编辑:让我澄清一下.即使理论上将函数指针强制转换为对象也是非法的,因为函数可能位于另一个存储空间中,实际上它们是相同的.正如我前面提到的,它既不安全,也不合法.我在问题中添加了x86标签.它只需要在x86架构上使用gcc和MSVC.

c++ architecture x86 gcc visual-c++

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

如何在Java中更新java.lang.Long的long值?

我将一个java.lang.Long类实例传递给一个方法(显然是作为参考),我想知道是否可以修改它的long值,以便调用者可以获得修改后的值.我查看了java.lang.Long的文档,但似乎没有这种类型的setter方法.它是否正确?

java

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