Time-limiting code

2 次查看(过去 30 天)
mahmud mohammadi
mahmud mohammadi 2011-5-23
[EDIT: 20110523 17:40 CDT - clarify - WDR]
I need to give a program code in a m.file type. but I want that code be expired after a specific time. Can you help me?
  1 个评论
Jan
Jan 2011-5-23
Are you sure you need M-files? P-file cannot be modified or read in clear text. But a secure time limitation cannot be achieved by P-coding also.

请先登录,再进行评论。

回答(2 个)

Sean de Wolski
Sean de Wolski 2011-5-23
  2 个评论
Jan
Jan 2011-5-23
This thread concerns P-files. The OP asks for M-files - to my surprise.
Sean de Wolski
Sean de Wolski 2011-5-23
I'd guess the OP had never heard of a p-file.

请先登录,再进行评论。


Jan
Jan 2011-5-23
M-files are very easy to edit. Therefore it is hard to imagine which level of protection you expect from such an expiration.
I assume the best expiration mechanism for an M-file is removing all comments, using minimalistic names for variables and subfunctions, interchange of variables by ASSIGNIN and EVALIN and using a flock of variables (G1, G2, G3, ...) instead of an array together with EVAL command to access them.
Then let the customer sign a contract, which includes the date of expiration. Without your support, such an ugly M-file is useless and the customer will delete it voluntarily.
There are some very good examples for this method in the FEX. Look for files, which have been rated with 1 star by John D'Errico. [EDITED: Tried to formulate the last sentence more clear.]
  7 个评论
Walter Roberson
Walter Roberson 2011-5-23
Jan, when you create a field name that way, is it the single-byte characters or the double-byte characters? And if you have something like a struct(), does it use double-byte characters like the rest of MATLAB or does it "save space" by using single-byte characters?
Jan
Jan 2011-5-24
The fieldnames are 8 bit UCHARs: CHAR(200) works as fieldname if created inside a Mex and accessed by "S.(char(200))", but CHAR(300) fails.
mxGetFieldNameByNumber replies a pointer to a \0 terminated C-string with a fixed distance of 64 byte - at least in all tests I've performed with Matlab 2009a, but this is not a proof.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Properties 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by