我正在尝试使用 F# 访问 Kraken 私有 API。访问公共 API 的代码运行得非常好,但是当我尝试访问私有 API 时,我总是收到错误“EGeneral:Invalid arguments”。
#r "FSharp.Data.dll"
open FSharp.Data
open System
open System.Text
open System.Security.Cryptography
let baseUri = "https://api.kraken.com"
let key = MY_KRAKEN_API_KEY
let secret = MY_KRAKEN_API_SECRET
let path = "/0/private/Balance"
let nonce = DateTime.UtcNow.Ticks
let bodyText = "nonce=" + nonce.ToString()
let hmac (key : byte []) (data : byte[]) =
use hmac = new HMACSHA512(key)
hmac.ComputeHash(data)
let sha256 (data : string) =
use sha = SHA256Managed.Create()
sha.ComputeHash(Encoding.UTF8.GetBytes(data))
let createSignature (nonce : int64) body …Run Code Online (Sandbox Code Playgroud) 我正在Fedora 18机器上开发一个项目,该项目使用C ++ 11标准中的类,并希望将其部署在Centos 6.4服务器上。
除了libc和libc ++版本(分别为GLIBC_2.11,GLIBCXX_3.4.15和在我的Fedora机器上的GLIBC_2.14和至少GLIBCXX_3.4.17上),我能够解决所有加载程序错误。
是否可以告诉编译器针对服务器版本或库的旧兼容版本进行编译/链接?
当我运行ldd可执行文件时,我得到
./executable: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./executable)
./executable: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./executable)
Run Code Online (Sandbox Code Playgroud)
提前致谢!
对于我的程序,我需要定义一个Solver类,它可以解决问题或嵌套问题.
template< typename ProblemT >
struct Solver {
static void a() {
ProblemT::func();
}
};
template< typename < typename SubT> ProblemT >
struct Solver<ProblemT< SubT> > {
static void a() {
ProblemT::func();
SubT::func();
}
};
Run Code Online (Sandbox Code Playgroud)
用法:
Solver<Problem1> solver;
Solver<Problem2<Problem3> > nested_solver;
Run Code Online (Sandbox Code Playgroud)
在Solver的专用版本中,我需要知道ProblemsT和SubT类型,以便正确定义类型并调用正确的函数.
是否只是一个简单的错误或是否无法定义这样的类?