小编0x9*_*x90的帖子

c中的##是什么?

我看过这个片段:

#define kthread_create(threadfn, data, namefmt, arg...) \
    kthread_create_on_node(threadfn, data, -1, namefmt, ##arg)
Run Code Online (Sandbox Code Playgroud)
  1. 什么##代表什么?
  2. 什么##时候它出现在一个宏?

c syntax gcc c-preprocessor

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

如何通过进程ID获取进程的stdin?

我知道我可以像以下一样获得进程的stdin使用子进程python:

import subprocess
f = subprocess.Popen('python example.py',stdin=subprocess.PIPE)
f.stdin.write('some thing')
Run Code Online (Sandbox Code Playgroud)

但我只想知道我要写入流程的pid我该stdin 怎么做?

python linux

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

git - cherry-pick - HOWTO/WHYTO

问题:您想测试某人已经开发的功能,但它只存在于远程分支中,这个功能已经过时了.

资源

  1. 樱桃挑选如何解决问题?
  2. 为什么我不使用git am或git apply?

git git-cherry-pick git-am

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

如何每隔5秒在linux中找到特定进程的内存消耗

我只是想知道如何在特定时间(比如5秒)找到特定进程的内存消耗

我是linux的新手.因此,这样做的详细步骤将不胜感激

linux memory pid process

9
推荐指数
3
解决办法
8万
查看次数

为什么有些编译器优化if(a> 0)而不是if(*(&a)> 0)?

假设我已在全球范围内宣布:

const int a =0x93191;
Run Code Online (Sandbox Code Playgroud)

在主要功能中我有以下条件:

if(a>0)
    do_something
Run Code Online (Sandbox Code Playgroud)

我注意到的一个尴尬是RVDS编译器将删除该if语句,并且目标文件中没有branch/jmp.

如果我写:

if(*(&a)>0)
    do_something
Run Code Online (Sandbox Code Playgroud)

if(cmpbranch)将在编译的目标文件中.


相反,GCC 用(-O1-O2-O3)优化两者:

#include <stdio.h>
const a = 3333;

int main()
{
    if (a >333)
        printf("first\n");

return 0;
}
Run Code Online (Sandbox Code Playgroud)

用-O3编译:

(gdb) disassemble main
Dump of assembler code for function main:
0x0000000100000f10 <main+0>:    push   %rbp
0x0000000100000f11 <main+1>:    mov    %rsp,%rbp
0x0000000100000f14 <main+4>:    lea    0x3d(%rip),%rdi        # 0x100000f58
0x0000000100000f1b <main+11>:   callq  0x100000f2a <dyld_stub_puts>
0x0000000100000f20 <main+16>:   xor …
Run Code Online (Sandbox Code Playgroud)

c compiler-construction optimization rvds

8
推荐指数
2
解决办法
347
查看次数

索引错误:索引 1491188345 超出轴 0 的范围,大小为 1491089723

我有一个数据框,df,有 646585 行和 3 列,看起来像:

index      inp       aco         count                
  0       2.3.6.   dp-ptp-a2f   22000
  1       2.3.12.  ft-ptp-a2f   21300
  2       2.5.9.   dp-ptp-a2f   21010
  3       0.8.0.   dp-ptp-a4f   20000
  4       2.3.6.   ft-ptp-a2f   19000               
  5       2.3.6.   ff-ptp-a2f   18500        
  ...                            ...
  ...                            ...   
  ...                            ...                 
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码透视数据框:

df1=df.pivot_table(values='count', index='inp', columns='aco',fill_value=0)
print(df1)
Run Code Online (Sandbox Code Playgroud)

但我得到了

IndexError: index 1491188345 is out of bounds for axis 0 with size 1491089723
Run Code Online (Sandbox Code Playgroud)

python pivot-table dataframe pandas

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

如何从头开始编写Android平板电脑的LCD驱动程序?

我想为华硕TF700的液晶屏写一个驱动程序

  • 我应该学习什么才能从一开始就做到这一点?
  • 我应该如何开始进入它?

c linux android linux-device-driver linux-kernel

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

strerror描述字符串

C函数strerror返回错误描述字符串,如此处所述.示例字符串

No such file or directory

问题是这些字符串定义在哪里?我查看了我的头文件,但没有看到任何内容.

c linux

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

glibc - 列表和其他数据结构实现

我填写像我的谷歌搜索技能现在很差,找不到glibc中的列表实现,找到哈希实现但不是列表之一.

是否有任何glibc实现?我不想重新格式化linux内核链表宏并在用户空间中使用它们.

c linux glibc list

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

如何在Matlab中计算样本和总体方差?

我有一个矢量 a

a = [86 100 41 93 75 61 76 92 88 97]
Run Code Online (Sandbox Code Playgroud)

我要计算stdmean通过自己:

>> mean(a)

ans =

   80.9000

>> std(a)^2

ans =

  335.2111
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我得到错误的方差:

>> avg = mean(a)

avg =

   80.9000

>> var = sum(a.^2)/length(a) - avg^2

var =

  301.6900
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

为什么sum(a.^2)/length(a) - avg^2 != std(a)^2

statistics matlab

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