小编Asa*_*lle的帖子

将git worktree与git子模块一起使用时会出现什么问题

我最近发现了这个git worktree命令:

新的工作目录链接到当前存储库,共享除工作目录特定文件(如HEAD,索引等)之外的所有内容.

但是文档也表明了这一点

...对子模块的支持不完整.建议不要对超级项目进行多次检出.

没有进一步解释什么是错误的.

有人可以告诉我有关预期的问题吗?例如,如果我使用以这种方式生成的单独工作树仅用于不影响子模块的更改,我会没事吗?

git git-submodules git-worktree

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

CMake无法解析运行时目录路径

运行cmake CMakeLists.txt后

我收到以下警告

CMake Warning at src/CMakeLists.txt:32 (add_executable):
  Cannot generate a safe runtime search path for target MMPEditor because
  files in some directories may conflict with libraries in implicit
  directories:

runtime library [libQt5Widgets.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/ch/Qt/5.2.1/gcc_64/lib
runtime library [libQt5Core.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/ch/Qt/5.2.1/gcc_64/lib
runtime library [libQt5Gui.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/ch/Qt/5.2.1/gcc_64/lib
runtime library [libQt5OpenGL.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
  /home/ch/Qt/5.2.1/gcc_64/lib
Run Code Online (Sandbox Code Playgroud)

其中一些库可能无法正确找到.

一个文件被另一个文件隐藏是什么意思,我怎样才能让CMake确定哪个文件要链接到哪个文件夹?

cmake

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

IO in where子句

我以为我开始理解Haskell中的IO,直到遇到以下问题.

我有以下函数,它返回类型IO Float:

getFundPrice :: Int ->  Int -> IO Float
getFundPrice fund date = do 
                       priceList <- getFundPrice' fund date
                       let h = head priceList
                       return  h
Run Code Online (Sandbox Code Playgroud)

函数getFundPrice'使用takusen数据库库并返回类型IO [Float]的列表.

我可以使用以下方法使用Hunit成功测试getFundPrice函数:

  p <- getFundPrice 120 20100303
  assertEqual
    "get fund price"
    10.286 
    (p)
Run Code Online (Sandbox Code Playgroud)

困扰我的问题是以下函数定义:

lastPos :: Int -> (Shares,Float) -> Period -> Fund -> (Shares,Float)
lastPos endDate begPos [] fund  = (fst begPos, trnPrice) 
                               where trnPrice = do
                                             price <- getFundPrice fund endDate
                                             return price                                                                        
Run Code Online (Sandbox Code Playgroud)

我在尝试编译时遇到的错误是"无法匹配预期类型Float' against inferred typeIO …

io monads haskell

5
推荐指数
2
解决办法
514
查看次数

c编程#define struct {}声明

我在看Glibc代码.一些glibc队列的代码引起了我的注意.我无法给出这个结构定义的含义.此结构没有名称.为什么?它是如何工作的?

#define LIST_ENTRY(type)                        \
struct {                                \
    struct type *le_next;   /* next element */          \
    struct type **le_prev;  /* address of previous next element */  \
}
Run Code Online (Sandbox Code Playgroud)

资源

c glibc

5
推荐指数
2
解决办法
250
查看次数

包含haskell-stack conf文件中的扩展名

我想在我的构建中添加ViewPatterns扩展,目前我通过将以下行添加到package.yaml来实现

ghc-options:
- -Wall
- -XViewPatterns
Run Code Online (Sandbox Code Playgroud)

我收到警告:

Warning: Instead of 'ghc-options: -XViewPatterns' use 'extensions:
ViewPatterns'
Run Code Online (Sandbox Code Playgroud)

但是,当我extensions向package.yaml 添加一个字段时,我得到以下内容:

WARNING: Ignoring unknown field "extensions" in package description
Run Code Online (Sandbox Code Playgroud)

另外,我extensions在官方堆栈文档中找不到任何定义.

haskell haskell-stack

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

`fmt.Println`如何在Go中工作?

有这个代码

import (
  "fmt"
  "math/big"
)

func main() {
    var b1,b2,b3,bigSum big.Float

    b1.SetFloat64(25.3)
    b2.SetFloat64(76.2)
    b1.SetFloat64(53.1)

    bigSum.Add(&b1, &b2).Add(&b3, &bigSum)

    fmt.Println(bigSum)   // {53 0 0 1 false [9317046909104082944] 8}
    fmt.Println(&bigSum)  // 129.3
 }
Run Code Online (Sandbox Code Playgroud)

我有两个问题

  1. 为什么我必须bigSum作为参考传递(通过使用&)来获得正确的答案,否则我们将找回一个对象?

  2. Println在Go工作怎么样?我的意思是它如何知道它应该适用于不同类型的格式?

floating-accuracy go

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

Kubernetes 部署 - 传递参数

kubectl当我使用命令应用部署文件时,我想将参数传递给 Kubernetes 部署。

示例:在我的部署 .yaml 中,我有如下参数,我想在运行时传递参数值kubectl apply - f <my-deployment>.yaml

因此,在下面的示例中,我想在运行上述 kubectl 命令时覆盖 args - userid 和 role。

spec:
      containers:
        - name: testimage
          image: <my image name>:<tag>
          args:
          - --userid=testuser
          - --role=manager
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl kubernetes-deployment

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

使用 Ubuntu 主机和 gdb 调试 QNX 目标

这是一个绝对初学者的问题。

我有一个 Ubuntu 14.04 主机,上面安装了 gdb 7.7.1 和一个为 qnx 交叉编译的项目。我还有一个 qnx 目标,我想在上面调试我的应用程序。

互联网上的说明告诉我gdb在 PC + 上使用任何一个gdbserver,但我没有安装 gdbserver 并且我认为我无法为 qnx 编译 gdb。我有一个叫pdebug. qnx 的说明告诉我 gdb 必须有target qnx命令,它显然不构成。

这是我所做的:

# Assuming that 255.255.255.255 is the target ip and 1234 is the port
# On target
pdebug 1234

On host
gdb
gdb> target remote 255.255.255.255:1234
Run Code Online (Sandbox Code Playgroud)

然后我收到了几个警告,然后gdb>再次警告,因为这是正常的。

我设法在我的主机和目标之间安装了一个连接,但是当我点击rungdb 时,它尝试运行我的本地应用程序副本,而不是在目标上运行它。

gdb remote-debugging qnx gdbserver

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

Redis Sentinel,Standalone 或 Cluster,哪个最适合会话?

对于使用 Redis 的会话,哪种设置更可取?

由于会话数据将导致并强制所有用户在关闭时进行会话,因此单独使用是不是一个好选择?因为这允许以最少的资源快速恢复。

或者拥有集群会提供更多优势?大公司如何使用Redis with session?欢迎任何建议。

session redis redis-sentinel redis-cluster

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