小编Abh*_*pta的帖子

__inline函数与C中的普通函数

我正在研究宏,并发现了许多关于宏和内联函数之间差异的来源和问题.但没有什么具体指定和区分内联与正常功能的优缺点.

但是,如果我想在正常功能和内联功能之间进行选择呢?

我知道使用内联函数会增加代码大小.但是,虽然研究规模不是主要问题,但效率是目标.使函数成为内联函数表明对函数的调用尽可能快.(由于堆栈和填充开销)

总是使用内联函数是否更好?如果不是那么为什么?使用普通函数比内联有什么好处?

在阅读其他问题时,我读到内联只是对编译器的一个暗示.编译器可能会忽略它.什么时候编译器忽略它为什么

c inline c99

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

$ .post在Chrome中被取消

我正在调用一个php文件$.post.从服务器我返回json响应.当我直接在浏览器中打开服务器URL时,它会成功返回.但是从js来看它不起作用. 在此输入图像描述 我调用的链接是this(http://54.249.240.120/qcorner/login).

<html>                                                                  
    <head>                                                                  
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    </head>                                                                 
    <body>
        <input type="button" id="testID">
        <script type="text/javascript">                                         
            $(document).ready(function() {
                $("#testID").click(function() {
                    $.post('http://54.249.240.120/qcorner/login',function(result){
                        alert(result);
                    });
                });
            });
         </script>                                                               
     </body>                                                                 
 </html>
Run Code Online (Sandbox Code Playgroud)

我也试过Firefox.在那我得到200 OK,但没有回应.

为什么会这样

javascript php ajax jquery post

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

重启后 APScheduler 作业未运行

我在尝试APS的MongoJobStore 例子。示例代码是:

import logging
import os
import sys
from datetime import datetime, timedelta

from apscheduler.schedulers.blocking import BlockingScheduler

logging.basicConfig()


def alarm(time):
    print('Alarm! This alarm was scheduled at %s.' % time)


if __name__ == '__main__':
    scheduler = BlockingScheduler()
    scheduler.add_jobstore('mongodb', collection='example_jobs', host='192.168.0.108', port=27017)

    if len(sys.argv) > 1 and sys.argv[1] == '--clear':
        scheduler.remove_all_jobs()

    alarm_time = datetime.now() + timedelta(seconds=10)
    # scheduler.add_job(alarm, 'date', run_date=alarm_time, args=[datetime.now()], id="la")
    print('To clear the alarms, run this example with the --clear argument.')
    print('Press Ctrl+{0} to exit'.format('Break' if os.name == …
Run Code Online (Sandbox Code Playgroud)

python jobs mongodb threadpool apscheduler

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

内核级线程库

我必须实现内核级线程,但是在网上搜索时,我发现在 linux 中可以通过三种方法创建内核级线程:

  1. 国家知识产权局
  2. 线程
  3. linux线程

在某处写到 linuxThreads 现在被放弃了。但是我找不到当前对 NPTL 和 kthread 的支持。此外,我找不到任何可以简单解释我如何使用其功能的来源。

哪个是当前支持和使用内核级线程的好库?

还请分享安装这些库并使用它们的任何资源?

linux kernel pthreads nptl linux-kernel

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

char const array可能的组合结果和效果

我想比较不同的声明char array (string)C.

我有两点主要比较这些组合(而不是一次又一次地写我命名):

  1. 点更改或点分配:我们只更改指针指向的内容.
    char *a, *b;
    a=b //we are doing this
  2. 值更改:我们正在更改指针指向的数据.
    char *a;
    *a='x' //we are doing this

以下是具有不同组合的代码.我有大约10个疑点.我必须一起问他们,因为他们都有某种联系.

每个疑问都在代码中解释.此外,还添加了错误消息.

因为你可能不知道每个问题的答案.所以,我在代码中标记了不同的部分.并且还给出了每个问题的编号.
如果您知道任何问题的答案请用适当的索引回答.

在代码中,我也提出了自己的观察和结论,这可能是错误的.所以我用结论:标记标记了它们.如果您发现任何结论错误,请分享/回答.

码:

#include <stdio.h>

int main() {

    char *p = "Something";//I cant change the data
char q[] = "Wierd"; // I can change to what q points to

// I. ______________________  char*p   ___________________________
printf("\nI. ______________________  char*p   ___________________________ \n\n");

printf("%s %s\n",p, q);
//*p = 'a';// got segmentation fault …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers const char

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

传递给 C 中的函数时,char 数组的大小正在发生变化

可能的重复:
C 编程语言中数组的大小?

我正在将一个char数组从函数 f1 传递给另一个函数 f2。在函数 f1 中,我使用sizeof&打印其大小,结果为9. 在第二个函数中,我再次使用与上面相同的语句打印其大小,但这次结果是8. 事实上,我没有在打印两个值之间使用这个数组。当我尝试在不同的笔记本电脑上运行相同的代码时,对于第二个函数,结果为4.

从这个问题可以清楚地看出为什么我得到 4,但为什么我在另一台笔记本电脑上得到 8。

为什么会发生这种情况?

我的整个代码太大了,所以我只分享基本部分:(这里是我正在谈论的数组,我从第一个函数plid调用login函数。由于它们的长度,我没有共享完整的函数。logp, errorp..这些是我自己编写的写入文件的函数,我最后分享了。)

f1

char choice[1], plid[9];
int choice_len = sizeof(choice);//this is importnat becz recvall takes ppointer to int
int ret;

logp(identity,0,0,"receiving the first choice of the client");
if(recvall(fd, choice, &choice_len, 0) != 0){ //whether want to play(login), or as audience(no login)
    logp(identity,0,0,"Error receiving the first choice …
Run Code Online (Sandbox Code Playgroud)

c arrays function

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

分裂和转移之间的差异

我正在读这个问题.看完第一个答案后,我无法理解原因-5 >> 1 = -3.我还对它进行了一些调整.

您还可以在此处查看代码和输出.这是我做的:

#include<stdio.h>

int main(){

printf("5/2 = %d\n",5/2);
printf("5 >> 1 = %d\n",5 >> 1);
printf("5/2 = %lf\n",5/2);
printf("5 >> 1 = %f\n",5 >> 1);
printf("-5/2 = %d\n",-5/2);
printf("-5 >> 1 = %d\n",-5 >> 1);
printf("-5/2 = %f\n",-5/2);
printf("-5 >> 1 = %f\n",-5 >> 1);

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

输出:

5/2 = 2
5 >> 1 = 2
5/2 = 2.168831
5 >> 1 = 2.168831
-5/2 = -2
-5 >> …
Run Code Online (Sandbox Code Playgroud)

c floating-point bit-shift division

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

为什么没有使用global关键字就没有错误

这个文件中,我使用一个名为modelDictglobal 的字典,我在多个函数中使用它(addCharToModelDict, dumpModelDict).我没有global在这些函数中使用关键字来使用全局modelDict.
addCharToModelDict正在更新它并dumpModelDict最终将其写回文件.

一切正常!!

为什么会这样?是不是必须使用全局关键字?

python scope global global-variables python-2.7

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

recv函数不会阻塞和recv一些垃圾值

情况:我正在进行客户端 - 服务器聊天.
最初它工作正常,然后我介绍了一个登录和注册系统.
问题: 我在寄存器中引入了两个功能:

  1. 如果用户能够成功注册,则会将其提升为登录.
    问题在于:在服务器代码中,成功注册新用户后,我调用了login_check()函数.此函数首先阻止从客户端接收用户名.But here recv get some garbage data which I haven't send from the client.为了摆脱这种情况,我在那里放了一个额外的recv来收集这些垃圾数据并忽略它.现在我的这部分代码工作得很好但是Why I need to put an extra recv there?

  2. 案例:在注册过程中,用户输入已存在的用户名.如果发生这种情况,我正在向客户端发送一条消息(有点信号)用户名已经存在.收到此消息后,客户端会要求用户再次注册或退出.然后从客户端我将用户的选择发送回服务器.But there in server my recv got some garbage data not the choice I am sending and also it doesn't block(i.e server recv reading garbage data before user enter the choice at client). I have also tried to put some extra recv functions to get …

c sockets recv

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

Wordpress在密码错误时更改默认重定向

我创建了一个wordpress模板,并在via代码中添加了一个登录表单:

<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
    <input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" /><br />
    <input type="password" name="pwd" id="pwd" size="20" /><br />
    <input type="submit" name="submit" value="Login" class="button" />
    <p>
        <label for="rememberme">
        <input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me
    </label>
        <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
    </p>
</form>
Run Code Online (Sandbox Code Playgroud)

它工作正常,但当有人插入错误的密码时,它会进入wp-login.php页面.我想改变它,并指出它转到我的模板网址.

问题是......我在哪里更改?

php wordpress

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

在C++中使用算法头文件时出错

我创建了一个unix域服务器客户端.它完美无缺地运行.

然后我想使用头文件中的random_shuffle()函数algorithm.所以我只包含algorithm头文件.我没有做任何其他改动.但是现在在编译时我收到以下错误:

game.cpp:102:85: error: no match for ‘operator!=’ in ‘std::bind(_Functor&&, _ArgTypes&& ...) [with _Functor = int&, _ArgTypes = {sockaddr*, long unsigned int}, typename std::_Bind_helper<_Functor, _ArgTypes>::type = std::_Bind<int(sockaddr*, long unsigned int)>]((* &((sockaddr*)(& address))), (* &110ul)) != 0’
game.cpp:102:85: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:214:5: note: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
/usr/include/c++/4.6/bits/stl_iterator.h:297:5: note: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
/usr/include/c++/4.6/bits/stl_iterator.h:347:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorR>&) …
Run Code Online (Sandbox Code Playgroud)

c++ bind include

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