小编SDD*_*SDD的帖子

Linux中只有问号

我在我的.ssh家庭目录上做了一个dir列表给了我一个奇怪的结果:

ls -lsa .ssh/
total 0
? ?--------- ? ? ? ?            ? . ·
? ?--------- ? ? ? ?            ? .. ·
? ?--------- ? ? ? ?            ? authorized_keys ·
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这只发生在一个用户身上,而且只发生在这个特定的目录中.如果我在su -l之后执行ls,一切都按预期工作.另一个奇怪的是,我的xterm以红色闪烁的字体显示目录列表!是什么导致这种情况发生?

谢谢!

编辑:
这是以root身份列出的目录:

ls -lsa
total 52
4 drw-------  2 sdd sdd 4096 Feb 10 15:57 .
4 drwx------ 16 sdd sdd 4096 Feb 10 15:57 ..
4 -rw-------  1 sdd sdd 1628 Feb 10 15:57 authorized_keys
Run Code Online (Sandbox Code Playgroud)

我正在使用ext3.

编辑2:
答案的答案,但我仍然得到这个:

chmod -R 600 /home/sdd/.ssh
ls …
Run Code Online (Sandbox Code Playgroud)

linux terminal

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

查找python正则表达式的最后一个匹配项

我想匹配字符串中最后一个简单模式的出现,例如

list = re.findall(r"\w+ AAAA \w+", "foo bar AAAA foo2 AAAA bar2")
print "last match: ", list[len(list)-1]
Run Code Online (Sandbox Code Playgroud)

但是,如果字符串长,则会生成大量匹配项.是否有更直接的方法来匹配"AAAA"的第二次出现或我应该使用此变通方法?

python regex

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

如何在C#中编组结构数组?

我在C#中有以下结构:

[StructLayoutAttribute(LayoutKind.Sequential)]
public struct RECORD
{
    public uint m1;
    public uint m2;
    public uint m3;
}
Run Code Online (Sandbox Code Playgroud)

我还需要将这些结构的数组(固定长度)传递给本机代码,后者将一些数据写入这些结构.该数组在C#中分配并传递给C dll.我将导入的函数声明为:

[DllImport("marshall.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern void doIt(RECORD[] dataRecord);
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何数据.我已经尝试过PInvoke Interop助手.我应该在这里使用IntPtr吗?有任何想法吗?

编辑:

以下是调用本机函数的C#代码:

RECORD[] rec = new RECORD[256];
doIt(rec);
// values of rec are all zero here
Run Code Online (Sandbox Code Playgroud)

这是C函数:

int doIt(RECORD* rec)
{
    // deref pointer and write some data
}
Run Code Online (Sandbox Code Playgroud)

c# marshalling

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

如何加速Visual Studio(2005/2008)工具箱初始化

每次我在VS .NET中打开Windows窗体应用程序时,都需要几分钟来初始化工具箱.有没有办法告诉VS以某种方式缓存这个工具箱?

performance toolbox visual-studio

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

中断boost :: asio同步读取?

我正在使用asio同步套接字从后台线程通过TCP读取数据.这封装在"服务器"类中.

但是,我希望线程在调用此类的析构函数时退出.问题是对任何读取函数的调用都会阻塞,因此线程不能轻易终止.在Win32中有一个API:WaitForMultipleObjects这将完全符合我的要求.

如何通过提升获得类似的效果?

c++ multithreading boost network-programming boost-asio

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

我在哪里可以找到C#的ICQ库?

是否有任何(最好是原生的)C#库允许我通过ICQ协议发送一些消息?有什么比仅包装libgaim更好的东西吗?

.net c# protocols instant-messaging

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

编译VC++生成的汇编输出?

我有一个简单的hello world C程序,用/ FA编译.因此,编译器还会生成相应的程序集列表.现在我想使用masm/link从生成的.asm列表中组装可执行文件.

以下命令行产生3个链接器错误:

\masm32\bin\ml /I"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include" /c /coff asm_test.asm
\masm32\bin\link /SUBSYSTEM:CONSOLE /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib" asm_test.obj
Run Code Online (Sandbox Code Playgroud)

指示C运行时函数未链接到先前生成的目标文件:

asm_test.obj:错误LNK2001:未解析的外部符号@__ security_check_cookie @ 4 asm_test.obj:错误LNK2001:未解析的外部符号_printf LINK:错误LNK2001:未解析的外部符号_wmainCRTStartup asm_test.exe:致命错误LNK1120:3未解析的外部

这是生成的装配清单

; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01 

    TITLE   c:\asm_test\asm_test\asm_test.cpp
    .686P
    .XMM
    include listing.inc
    .model  flat

INCLUDELIB OLDNAMES

PUBLIC  ??_C@_0O@OBPALAEI@hello?5world?$CB?6?$AA@   ; `string'
EXTRN   @__security_check_cookie@4:PROC
EXTRN   _printf:PROC
;   COMDAT ??_C@_0O@OBPALAEI@hello?5world?$CB?6?$AA@
CONST   SEGMENT
??_C@_0O@OBPALAEI@hello?5world?$CB?6?$AA@ DB 'hello world!', 0aH, 00H ; `string'
CONST   ENDS
PUBLIC  _wmain
; Function …
Run Code Online (Sandbox Code Playgroud)

x86 assembly masm32 visual-c++

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

如何在C#中强制格式化字符串的最小宽度

我有以下声明

DateTime now = DateTime.Now;
string test = string.Format("{0}{1}{2}{3}", now.Day, now.Month, now.Year, now.Hour);
Run Code Online (Sandbox Code Playgroud)

这给了我:

test = "242200915"
Run Code Online (Sandbox Code Playgroud)

但是我希望有类似的东西:

test = "2402200915"
Run Code Online (Sandbox Code Playgroud)

所以问题是,如何在使用零填充时强制使用字符串格式化程序输出宽度为2的每个int?

.net c# string formatting

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

在BOOST中禁用例外?

我想使用boost :: asio但我不希望boost抛出异常,因为在我的环境中不能引发异常.

我遇到过BOOST_NO_EXCEPTIONS但是文档说throw_exception的调用者可以假设这个函数永远不会返回.但是用户如何提供功能却无法返回?我需要在这里插入什么替换功能?如果boost代码想要抛出异常,我是否必须终止进程?

c++ boost exception

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

用于访问无符号整数的字节/字的C++类

union LowLevelNumber
{
 unsigned int n;
 struct
 {
  unsigned int lowByte : 8;
  unsigned int highByte : 8;
  unsigned int upperLowByte : 8;
  unsigned int upperHighByte : 8;
 } bytes;
 struct
 {
  unsigned int lowWord : 16;
  unsigned int highWord : 16;
 } words;     
};
Run Code Online (Sandbox Code Playgroud)

这个联合允许我访问无符号整数字节或逐字.但是,代码看起来相当丑陋:

var.words.lowWord = 0x66;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以让我编写这样的代码:

var.lowWord = 0x66;
Run Code Online (Sandbox Code Playgroud)

更新:
这实际上是关于编写短/漂亮的代码,如上例所示.联合解决方案本身确实有效,我只是每次访问lowWord或lowByte时都不想写.words或.bytes.

c++ low-level

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