小编Jos*_*lin的帖子

编译C代码的字符串

真的不在墙上的问题,但有没有办法在GCC中编译一串C代码,没有任何媒介来保存该字符串(例如,源文件)?

有点像:

$ gcc "#include <stdio.h> int main( void ){ printf('hello world'); return 0;}" -o test
Run Code Online (Sandbox Code Playgroud)

感觉真的很脏,但如果有一些简单的方法来做这种事情,那将是非常好的.

c gcc compilation

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

项目欧拉#211 - 效率问题

我一直在努力通过项目欧拉问题列表,我来到一个我知道如何解决,但似乎我不能(给我的解决方案写的方式).

我正在使用Common Lisp执行此操作,我的脚本已运行超过24小时(远远超过他们的一分钟目标).

为了简洁起见,这是我的解决方案(它是一个扰流板,但只有你有一个地狱的快速处理器):

(defun square? (num)
  (if (integerp (sqrt num)) T))

(defun factors (num)
  (let ((l '()))
    (do ((current 1 (1+ current)))
        ((> current (/ num current)))
      (if (= 0 (mod num current))
          (if (= current (/ num current))
              (setf l (append l (list current)))
              (setf l (append l (list current (/ num current)))))))
    (sort l #'< )))

(defun o_2 (n)
  (reduce #'+ (mapcar (lambda (x) (* x x)) (factors n))))

(defun sum-divisor-squares (limit)
  (loop for i from 1 …
Run Code Online (Sandbox Code Playgroud)

math common-lisp

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

Lisp奇怪的HTTP问题/错误

我正在尝试学习更多关于在SBCL中处理套接字和网络连接的知识; 所以我为HTTP写了一个简单的包装器.到目前为止,它只是制作流并执行请求以最终获得网站的标题数据和页面内容.

到目前为止,它已经有点体面.没有什么可以吹嘘回家,但它至少有效.

然而,我遇到了一个奇怪的问题; 我一直收到"400 Bad Request"错误.

起初,我对如何处理HTTP请求(或多或少地将请求字符串作为函数参数传递)有点怀疑,然后我创建了一个函数,使用我需要的所有部分格式化查询字符串并返回它以供使用以后......但我仍然得到错误.

更奇怪的是,每次都不会发生错误.如果我在像Google这样的页面上尝试脚本,我会得到"200 Ok"的返回值...但在其他网站的其他时间,我会得到"400 Bad Request".

我确定我的代码存在问题,但如果我确切地知道导致它的原因,我会被诅咒.

这是我正在使用的代码:

(use-package :sb-bsd-sockets)

(defun read-buf-nonblock (buffer stream)
  (let ((eof (gensym)))
    (do ((i 0 (1+ i))
         (c (read-char stream nil eof)
            (read-char-no-hang stream nil eof)))
        ((or (>= i (length buffer)) (not c) (eq c eof)) i)
      (setf (elt buffer i) c))))

(defun http-connect (host &optional (port 80))
"Create I/O stream to given host on a specified port"
  (let ((socket (make-instance 'inet-socket
                   :type :stream
                   :protocol :tcp)))
    (socket-connect
     socket (car …
Run Code Online (Sandbox Code Playgroud)

lisp sockets http sbcl

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

打印列表内容时出现问题

我有一个奇怪的Python问题(2.6.2) 我得出的结论是Vista端口中的一个错误(我无法在XP或Linux中复制它).

我有一个用户列表,加密密码,以及我存储在一个更大的列表中的主机(它充当一种数据库).

除了单个用户的数据存储方式和组的存储方式不一致外,这一切都很好用.

由'create_user'方法创建

['localhost','demo','demouserpasswordhash']

由'create_database'方法创建

['\ xff\xfel\x00o\x00c\x00a\x00l\x00h\x00o\x00s\x00t\x00','\ x00d\x00e\x00m\x00o\x00','\ x00d\x00e\x00m\x00o\x00u\x00s\x00e\x00r\x00p\X00A\x00s\x00s\x00w\x00o\x00r\x00d\x00h\X00A\x00s\x00h\X00\r\X00\N']

我不明白它为什么这样做,因为它的代码有多简单:

# ----- base functions

def create_user ( user_data ):
    return user_data.split(":")

def show_user ( user_data ):
    print "Host: ", user_data[0]
    print "Username: ", user_data[1]
    print "Password: ", user_data[2]
    print

def create_database ( user_list ):
    database = []
    for user in user_list:
        database.append( create_user( user ) )
    return database

def show_database( database ):
    for row in database:
        show_user( row )

# ----- test area

users = open( "users.txt" ) …
Run Code Online (Sandbox Code Playgroud)

python

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

F#中的随机数组元素

我试图在F#上学习自己,我担心我不理解我应该做的事情.

我正在尝试重新创建一本我喜欢的书的功能(来自Royal和Panarese的Creative Cursing).

简而言之,您有两个单独的单词列表,可以从中选择两个随机单词,从而产生一个奇怪的短语.够简单吗?

这就是我所拥有的:


#light

open System
open System.IO

let getWordList file =
  File.ReadAllLines( file )

let getRandArrElement (arr : string[]) =
  let rnd = Random( 0 )
  arr |> Seq.nth (rnd.Next arr.Length)

let wordList1 = getWordList "words1.txt"
let wordList2 = getWordList "words2.txt"

let word1 = getRandArrElement wordList1
let word2 = getRandArrElement wordList2

printf "%s %s" word1 word2
Run Code Online (Sandbox Code Playgroud)

它也有效.除了它每次运行时返回相同的短语.

我有一种感觉,它正在做的是在编译时每次调用"getRandArrElement"计算一个随机值,然后使用该值作为THE值(我认为这很奇怪,但我知道什么?).

我的逻辑有什么问题,我该如何解决?

f#

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

标签 统计

c ×1

common-lisp ×1

compilation ×1

f# ×1

gcc ×1

http ×1

lisp ×1

math ×1

python ×1

sbcl ×1

sockets ×1