小编Nia*_* C.的帖子

如何在Mercurial中将文件恢复为"最后签入"状态?

我在光盘上有一个假设的Mercurial存储库.当我意识到我已经完成了我正在处理的文件的整个混乱,并希望将该文件恢复到其上一个提交状态时,我通常会创建一个新功能.

我可以使用hg update从存储库刷新工作副本,但更新每个文件.

有没有可以更新单个文件的mercurial命令?

mercurial undo

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

如何在C编程中使用SHA1散列

我正在尝试编写一个证明SHA1几乎无冲突的C程序,但我无法弄清楚如何为我的输入值实际创建哈希.我只需要创建哈希值,并将十六进制值存储到一个数组中.经过一些Google搜索,我发现OpenSSL文档指示我使用它:

 #include <openssl/sha.h>

 unsigned char *SHA1(const unsigned char *d, unsigned long n,
                  unsigned char *md);

 int SHA1_Init(SHA_CTX *c);
 int SHA1_Update(SHA_CTX *c, const void *data,
                  unsigned long len);
 int SHA1_Final(unsigned char *md, SHA_CTX *c);
Run Code Online (Sandbox Code Playgroud)

我相信我应该使用unsigned char*SHA1或SHA1_Init,但我不确定参数是什么,因为x是我要输入的输入.有人请为我清楚这个吗?谢谢.

c hash

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

在C中退出程序时释放所需的内存

如果我在我的C程序中使用分配内存,malloc现在我想退出,我是否必须释放分配的内存,或者我可以假设,因为我的整个程序终止,它将被操作系统释放?

我在Linux环境中运行.

c malloc free memory-management

21
推荐指数
2
解决办法
5358
查看次数

如何检查当前活动是否有前面的对话框?

我正在使用第三方库,有时会弹出一个对话框.在我完成当前活动之前,我想检查当前上下文中是否弹出了一个对话框.

这有什么API吗?

android android-activity

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

VS2010文本编辑器中的右边距标记

在VS2008中,您可以通过创建名为Guidesunder 的字符串注册表项来启用右边距标记HKCU\Software\Microsoft\VisualStudio\9.0\Text Editor.它也适用于快速版:用VCExpressVCSExpress取代VisualStudio.

我的价值是:RGB(192,192,192) 80, 100它给了我80和100列的浅灰色线条.

我刚尝试(并且失败)在VC++ 2010 Express和VC#2010 Express中进行设置; 有人知道他们是否仍然受到支持?

visual-studio-2010

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

(4> y> 1)是C++中的有效语句吗?如果是这样,你如何评价?

这是一个有效的表达吗?如果是这样,你能改写它以使它更有意义吗?例如,它是一样的(4 > y && y > 1)吗?您如何评估链式逻辑运算符?

c++ conditional boolean-logic if-statement logical-operators

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

hg等效的git revert

我有一个公共存储库的提交.我希望这个提交不在那里(我把这个工作转移到了一个分支),我显然不想破坏分支历史,基本上只是执行该提交的反转.在git中这只是git revert,但我没有使用git :)

git mercurial dvcs

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

如何在Linux上永久地只读文件,所以即使root也无法编辑它?

如果我想将文件锁定为只读.甚至root也不能使用编辑器来修改它,只允许任何程序以只读方式打开它.

有什么建议?

linux

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

如何使is_arithmetic <myClass> :: value为true?

我的想法是我有一个函数可以对输入做一些算术运算,所以可能是这样的:

#include <type_traits>
#include <vector>

using namespace std;

template<typename T> 
double mean(const vector<T>& vec)
{
    static_assert(is_arithmetic<T>::value, "Arithmetic not possible on this type");
    //compute mean (average)
}//mean
Run Code Online (Sandbox Code Playgroud)

这很好用,并且计算了我输入的所有数字类型的平均值.但是让我说我​​然后创建一个新类:

class foo
{
    // class that has arithmetic operations created
};// foo
Run Code Online (Sandbox Code Playgroud)

在这个类的定义中,我定义了所需的运算符+和/,因此它们可以使用预期的输入.现在我想在我的新类中使用我的mean函数,但由于static_assert,它显然不会编译.那么如何告诉编译器我的新类应满足is_arithmetic<foo>::value

如果我在创建类时可以给它一个满足is_arithmetic的类型,那会很棒,但这似乎可能会导致type_traits出现问题?

或者我需要创建一个新的测试,检查看看

is_arithmetic<T>::value || type(T,foo)
Run Code Online (Sandbox Code Playgroud)

或类似的东西?

我更愿意只调整我的课程,而不是功能,如果可能的话,但我很想解决问题.

c++ templates

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

std :: array alignment

尝试std::tr1::array在mac上我得到16字节对齐.

sizeof(int) = 4;  
sizeof( std::tr1::array< int,3 > ) = 16;  
sizeof( std::tr1::array< int,4 > ) = 16;    
sizeof( std::tr1::array< int,5 > ) = 32;
Run Code Online (Sandbox Code Playgroud)

STL中是否有任何行为类似于数组<T,N>,但保证不会自行填充,即

sizeof( ARRAY< T, N> ) = sizeof(  T )*N  
Run Code Online (Sandbox Code Playgroud)

c++ arrays vector alignment padding

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