This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// cl.exe /nologo /clr /Od /MD /EHac /LD /Fe:sehlib.dll sehlib_net.cxx | |
using namespace System; | |
#include <iostream> | |
void throws_fn() | |
{ | |
std::cerr << ".NET throws exception" << std::endl; | |
throw gcnew Exception(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(sb-alien:load-shared-object "sehlib.dll") | |
(sb-alien:define-alien-routine | |
("catches_fn" catches-fn) | |
sb-alien:void) | |
(defun test-seh () | |
(handler-case | |
(progn (catches-fn) | |
(format *error-output* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// g++ -O0 -shared -o unwind.dll unwind.cxx | |
// OR | |
// cl.exe /nologo /Od /MD /EHa /LD /Fe:unwind.dll unwind.cxx | |
#include <iostream> | |
#include <exception> | |
#include <windows.h> | |
class Foo | |
{ | |
public: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(sb-alien:load-shared-object "unwind.dll") | |
(sb-alien:define-alien-routine | |
("catches_fn" catches-fn) | |
sb-alien:void | |
(fn (* T))) | |
(defun sap-to-callable (ptr) | |
(sb-alien:sap-alien | |
(sb-alien:alien-sap ptr) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; This file reproduces tha fact that SBCL crashes | |
;;; while .Net runtime is loaded | |
;;; .Net Core SDK must be installed | |
;;; run the file like 'sbcl --script sb-net-core-crash.lisp' | |
(defun version-compare (left right) | |
(labels ((parse (c) | |
;; Given .Net version naming convention, | |
;; 3.0.0 is actually greater then 3.0.0-rc1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(eval-when (:compile-toplevel :load-toplevel :execute) | |
(cffi:define-foreign-library oleaut32 | |
(t "oleaut32.dll")) | |
(cffi:use-foreign-library oleaut32)) | |
(cffi:defcfun ("GetActiveObject" | |
%get-active-object | |
:library oleaut32 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(in-package #:sb-vm) | |
(eval-when (:compile-toplevel :load-toplevel :execute) | |
(defknown %m128+ ((simd-pack single-float) (simd-pack single-float)) | |
(simd-pack single-float) | |
(movable foldable flushable always-translatable) | |
:overwrite-fndb-silently t) | |
(define-vop (%m128+) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function call_ec(f) { | |
var tag = new EvalError('Continuation block no loger exists'); | |
try { | |
f(function(rv) { | |
tag.rv = rv; | |
throw tag; | |
}); | |
} catch(obj) { | |
if(obj === tag) { | |
return tag.rv; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(set-macro-character #\→ (lambda (s c) | |
(declare (ignore s c)) | |
(error "Unexpected '→'"))) | |
(set-macro-character #\λ | |
(lambda (s c) | |
(declare (ignore c)) | |
(loop :with arg = (read s t nil t) | |
:for next = (peek-char t s t nil t) | |
:until (eql next #\→) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using namespace System.IO; | |
$ErrorActionPreference = 'Stop' | |
function VideoToGif{ | |
Param( | |
[Parameter(Mandatory=$true)][string] $InFile, | |
[Parameter(Mandatory=$true)][string] $OutFile, | |
[int]$Width=320, | |
[int]$Height=-1, | |
[double]$Start=0.0, |