小编ARH*_*ARH的帖子

在Unix/Linux中将Windows Filetime转换为第二

我有一个跟踪文件,每个事务时间以Windows文件时间格式表示.这些时间数字是这样的:

  • 128166372003061629
  • 128166372016382155
  • 128166372026382245

如果Unix/Linux中有任何C/C++库从这些数字中提取实际时间(特别是第二个),请告诉我吗?我可以编写自己的提取功能吗?

c c++ time

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

放大Linux内核日志缓冲区超过2M

我正在收集某种Linux内核活动.我printk在内核源代码中放置了多个语句,并希望在常规内核活动期间监视这些语句.不幸的是,我已经意识到内核日志缓冲区大小(CONFIG_LOG_BUF_SHIFT)不能超过2 ^ 21,这基本上等于2M条目.

有没有其他方法来记录超过2M的内核消息?

logging kernel linux-device-driver linux-kernel printk

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

带有*的意外bash目录列表

我的bash中存在区分大小写的目录列表的问题.例如

   $ touch  nohupa nohuPb
   $ ls nohup*
   nohupa  nohuPb
Run Code Online (Sandbox Code Playgroud)

但是我确实期待它只列出nohupa而不是nohuPb.因为nohuPb有大写字母P.我不知道我的.bashrc集合中哪个变量*工作忽略大小写.

任何的想法 ?

bash bash-completion

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

统计Linux中正在运行的进程的抢占次数

有什么方法可以计算用户空间中特定PID的抢占吗?我有兴趣测量一个进程被抢占的次数。

interrupt scheduled-tasks linux-kernel preemption sysfs

5
推荐指数
0
解决办法
483
查看次数

使用__attribute__aligned()或alignas()进行对象数组对齐?

快问人......这些代码spinets是否具有相同的对齐方式?

struct sse_t {
     float sse_data[4];
};

// the array "cacheline" will be aligned to 64-byte boundary
struct sse_t alignas(64) cacheline[1000000];
Run Code Online (Sandbox Code Playgroud)

要么

// every object of type sse_t will be aligned to 64-byte boundary
struct sse_t {
     float sse_data[4];
} __attribute((aligned(64)));

struct sse_t cacheline[1000000];
Run Code Online (Sandbox Code Playgroud)

c++ caching memory-alignment compiler-optimization

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

Linux Shell,如何通过串口发送命令并返回?

我希望通过串行端口向 PDU 发送“重新启动”命令。我在交互模式下要做的是:

#screen /dev/ttyS1
>reboot
>[Detach Screen]
#
Run Code Online (Sandbox Code Playgroud)

如果我想在脚本中自动执行此任务,我应该能够使用 shell 中的单个命令重新启动 PDU,如下所示:

#echo "reboot" >/dev/ttyS1
Run Code Online (Sandbox Code Playgroud)

然而,它不起作用!我不知道为什么......你能帮助我吗?

PDU 手动请求波特率为 9600,这不是默认波特率。我已尝试以下命令来设置波特率但仍然没有锁定:

stty -F /dev/ttyS1 speed 9600 cs8 -cstopb -parenb 
Run Code Online (Sandbox Code Playgroud)

无论有没有屏幕,这些输出都不会改变:

 # stty -a -F /dev/ttyS1
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^H; eof = ^D; eol = <undef>;
    eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;     rprnt = ^R; …
Run Code Online (Sandbox Code Playgroud)

linux shell serial-port

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

使用malloc()分配的对象数组的调用构造函数

可能重复:
可以以便携方式使用数组的新位置吗?

我想分配对象T的数组并使用对象构造函数初始化对象.使用c ++很容易new:

T * pointerT = new T [arraySize];
Run Code Online (Sandbox Code Playgroud)

它将为所有arraySize对象调用T构造函数.但是,出于某种原因,我必须使用C memalign而不是新的.在这种情况下,我最终使用以下代码

T * pointerT = (T*) memalign(64,arraySize * sizeof(T)); 
new (pointerT) T(); 
Run Code Online (Sandbox Code Playgroud)

new (pointerT) T()只调用T构造函数一次.但是,我需要为所有对象调用T构造函数,而不仅仅是第一个对象.

我非常感谢你的帮助.

c c++ oop constructor memory-management

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

提升线程开销

我发现在以下简单程序中,boost线程开销有三个数量级的时序开销.反正有没有减少这种开销并加快fooThread()通话速度?

#include <iostream>
#include <time.h>
#include <boost/thread.hpp>
#include <boost/date_time.hpp>
typedef uint64_t tick_t;
#define rdtscll(val) do { \
    unsigned int __a,__d; \
    __asm__ __volatile__("rdtsc" : "=a" (__a), "=d" (__d)); \
        (val) = ((unsigned long long)__a) | (((unsigned long long)__d)<<32); \
    } while(0)


class baseClass {
 public:
   void foo(){
             //Do nothing 
        }
       void threadFoo(){
          threadObjOne = boost::thread(&baseClass::foo, this);
              threadObjOne.join();
   }

 private:
   boost::thread threadObjOne;
 };

int main(){
   std::cout<< "main startup"<<std::endl; 
   baseClass baseObj; 
   tick_t startTime,endTime;
       rdtscll(startTime);
   baseObj.foo();
   rdtscll(endTime);
   std::cout<<"native foo() call takes …
Run Code Online (Sandbox Code Playgroud)

c++ performance multithreading boost-thread threadpool

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

在GCC 4.6.1中链接数学库(Ubuntu 11.10)

我发现我的应用程序的链接过程中存在问题.我对gcc 4.5没有相同的看法.它尝试将数学库与以下命令链接.

gcc -Wall -Wno-unused -MD -o mems_seektest mems_seektest.o -lm -L. -g -DASSERTS  -I../src// -I../ -I../src//src -DDEBUG -lmems_internals
Run Code Online (Sandbox Code Playgroud)

并报告以下错误按摩:

undefined reference to `sqrt'
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

c linker gcc

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

Python:同时迭代dict和list

我想编写一个可以迭代dictlist以相同方式迭代的函数,如下面的代码.但是,它不起作用,并指责iter不是迭代器.

def constructResult(*args):
    header = ''
    result = ''
    for arg in args :
        if isinstance(arg, dict) :
            iter = arg.items; #arg is a dict
        else:
            iter = arg #arg is a list 
        for (key,value) in iter :
            header = header + key + ","
Run Code Online (Sandbox Code Playgroud)

注意:此函数的输入是dictlist.这是一个假设.

这是错误消息:

 File "./write-hole-collector.py", line 595, in constructResult
   for (key,value) in iter :
 TypeError: 'builtin_function_or_method' object is not iterable
Run Code Online (Sandbox Code Playgroud)

python dictionary list

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

如何在 Pandas DataFrame 中获取具有非零最小值的第一行索引?

假设我有以下 Pandas DataFrame:

     U     A         B
0  2000    10       20
1  3000    40        0 
2  2100    20       30
3  2500     0       30 
4  2600    30       40
Run Code Online (Sandbox Code Playgroud)

如何获得 A 和 B 都具有非零值且 (A+B)/2 大于的第一行的索引 15

在这个例子中,我想得到,2因为它是具有非零 A 和 B 列的第一行,25其平均值大于15

请注意,此 DataFrame 很大,我正在寻找获取索引值的最快方法。

python pandas

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