小编pdo*_*926的帖子

C编程中无效指针的概念

是否可以在C编程语言中取消引用void指针而不使用类型转换?

另外,有没有任何方法可以概括一个可以接收指针并将其存储在void指针中的函数,并且通过使用该void指针,我们可以创建一个通用函数吗?

例如:

void abc(void *a, int b)
{
   if(b==1)
      printf("%d",*(int*)a);     // If integer pointer is received
   else if(b==2)
      printf("%c",*(char*)a);     // If character pointer is received
   else if(b==3)
      printf("%f",*(float*)a);     // If float pointer is received
}
Run Code Online (Sandbox Code Playgroud)

我想在不使用if-else语句的情况下使这个函数变得通用 - 这可能吗?

此外,如果有很好的互联网文章解释了无效指针的概念,那么如果你能提供这些URL会很有用.

是否可以使用void指针进行指针算术?

c void-pointers

127
推荐指数
5
解决办法
20万
查看次数

Css兄弟绝对定位

有没有办法绝对将div放在兄弟姐妹身上?例如:在div内部还有另外两个div - div1和div2.我想绝对将div2定位到div1.

css position

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

如何在 Action 运行的 Bash 脚本中访问 GitHub Action 环境变量?

我无法从操作运行的脚本中访问在 GitHub 操作配置文件的顶级定义的环境变量。

例如,给定以下配置文件:

name: x-pull-request
on: pull_request
env:
  FOO: bar
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: does a thing
        run: ./scripts/do-a-thing.sh
Run Code Online (Sandbox Code Playgroud)

...以及以下脚本:

X=${FOO:default}
echo "X: $X" # X: default
Run Code Online (Sandbox Code Playgroud)

FOO配置文件中定义的环境变量对脚本不可用,正在使用默认值。

那么,如何从构建步骤运行的 Bash 脚本访问环境变量?我错过了前缀还是什么?(我知道input散列中定义的值要求您INPUT_在引用它们时使用前缀。)

bash github-actions

12
推荐指数
2
解决办法
4618
查看次数

GitHub页面https / www重定向

使用GitHub页面托管静态网站时,如何获取https://www.test.com重定向到https://test.com

我最近在我的DNS提供商(namecheap)上设置了A记录,从而为我的静态站点启用了TLS(由GitHub / Lets Encrypt提供)。我还选择了GitHub存储库设置中的“强制HTTPS”选项,该选项可处理从http://test.comhttps://test.com的重定向请求。我通过我的DNS提供程序配置了重定向,该重定向将http://www.test.com转发到https://test.com,但是这个难题的一个缺失部分是将https://www.test.com转发到https ://test.com

关于此问题,GitHub表示:“如果您的域启用了HTTPS强制实施,则GitHub Pages的服务器将不会自动路由重定向。您必须使用域注册商配置www子域和根域重定向。”

...并且我的DNS提供商说:“无法在帐户中设置URL重定向,以将TCP端口从http://www.domain.tld(使用端口80)转发到https:// www。 domain.tld(通过端口443工作)。”

我似乎陷入了两个服务的无限循环中,说另一个服务应该提供此功能。

dns github-pages namecheap

10
推荐指数
2
解决办法
719
查看次数

在延迟"待定"时使用Bacon.js禁用提交按钮

我有一个表单,其中有许多图像网址 - 后端持久保存网址字符串,图像直接上传到S3.我想在上传过程中使用Bacon.js流来处理禁用/启用表单的提交按钮.

我尝试过各种方法(使用一系列Bacon.fromPromises流,使用fromPromise -d deferreds流和一个原始延迟总线并尝试手动区分两者)但是没有找到a)工作的解决方案按照预期和b)感觉我不是在和图书馆作战.

事情就是这样,但如上所述,提交按钮会过早地重新启用.

function toResultStream(promise) {
  return Bacon.fromPromise(promise)
}

var deferreds = $('a').asEventStream('click', function (event) {
    event.preventDefault();
    var deferred = $.Deferred();

    // simulate upload
    setTimeout(function () {
        deferred.resolve(true);
    }, _.random(200, 1600))

    setTimeout(function () {
        deferred.rejectWith(false);
    }, _.random(200, 1600))

    return deferred;        
});

deferreds.onValue(function () {
    $('#submit').attr('disabled', true);
})

// only takes completed deferreds into consideration
var ongoingSearch = deferreds.flatMap(function (d) {
    return toResultStream(d);
})
.mapError(true)
.onValue(function () {
    $('#submit').attr('disabled', false);
});
Run Code Online (Sandbox Code Playgroud)

小提琴

*更新

@ mjs2600的回答足以让我找到解决方案.

这是我最终做的事情:

var …
Run Code Online (Sandbox Code Playgroud)

javascript jquery frp bacon.js

9
推荐指数
2
解决办法
194
查看次数

像表连接一样连接 Elastic Search 中的两个索引

我对这个弹性搜索比较陌生。所以,我有一个名为post 的索引,其中包含如下文档:

{
"id": 1,
"link": "https:www.instagram.com/p/XXXXX/",
"profile_id": 11,
"like_count": 100,
"comment_count": 12
}
Run Code Online (Sandbox Code Playgroud)

我有另一个名为profile的索引,其中包含如下文档:

{
"id": 11,
"username": "superman",
"name": "Superman",
"followers": 12312
}
Run Code Online (Sandbox Code Playgroud)

因此,正如大家所看到的,我在名为 profile 的索引下拥有所有个人资料数据,在名为post的索引下拥有所有帖子数据。帖子文档中存在的“ profile_id 与配置文件文档中存在的“id”链接。

有什么办法,当我查询帖子索引并过滤掉帖子文档时,个人资料数据也会根据帖子文档中存在的“profile_id”与帖子文档一起显示?或者以某种方式获取这两个数据进行多索引搜索?

提前致谢,任何帮助将不胜感激。

elasticsearch elasticsearch-plugin

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

在Heroku上接受比特币

从我所读到的,传统的智慧是为你将要收到的每笔付款生成一个新的比特币地址.但是,由于Heroku的文件系统是只读的,您在哪里存储每个新地址的密钥?bitpiggy.herokuapp.com正在Heroku上运行,似乎接受比特币.有没有人知道他们如何接受和处理Heroku平台上的比特币,因为文件系统是只读的?

ruby-on-rails heroku bitcoin

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

是否可以从类路径中获取Nashorn加载脚本?

是否有可能让Nashorn的load方法在解析URI时使用项目的类路径?

这是我正在尝试做的事情:

(defn create-engine
  "Creates a new nashorn script engine and loads dependencies into its context."
  [dependencies]
  (let [nashorn (.getEngineByName (ScriptEngineManager.) "nashorn")
        scripts (map #(str "load('" % "');") dependencies)]
    (.eval nashorn "var global = this;")
    (doseq [script scripts] (.eval nashorn script))
    nashorn))

(def app "public/javascripts/app.js") ; in /resouces, on classpath


; resulting exception:
clojure.lang.Compiler$CompilerException: 
javax.script.ScriptException: TypeError: 
Cannot load script from public/javascripts/app.js in <eval> at line number 1
Run Code Online (Sandbox Code Playgroud)

java clojure nashorn

6
推荐指数
2
解决办法
4817
查看次数

tmux ctrl+d 不会从会话中分离

我正在使用带有命令的 Nodejs 运行 Ubuntu 14.04 的服务器 npm start
我使用 tmux 命令启动 tmux 会话,然后执行操作 npm start ,最后执行 ctrl+d 分离操作。但ctrl+d对我不起作用。无论我使用什么,只有当我停止所有进程时,它才会使我脱离会话。当我尝试通过 mongod运行与会话分离时,这也是同样的问题。有任何想法吗?
PS:运行ctrl+a+d也不起作用。

mongodb node.js tmux npm-start

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

访问Array.forEach中的未命名数组

在未命名的数组上使用forEach循环时,有没有办法访问目标对象的长度属性?

# I'd like to be able to do something like:
[1, 2, 3].forEach (n, i) -> console.log n is < (arr.length - 1)
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript

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